Как отфильтровать данные с помощью специального символа в векторе
В моей таблице продуктов есть столбец с именем Prod_code. Мне нужно выбрать только правильный prod_code из таблицы продуктов и загрузить его в другую таблицу. действительный код prod_code - это коды, в которых нет специальных символов.
VALID prod_code: WER1234, ASD1345
Недействительный prod_code: ABC $ 123, LPS????, $$$ (который мне нужно проверить и отфильтровать).
Как мне этого добиться?
Src список кодов продуктов
WER1234
ASD1345
ABC$123
LPS????
$$$
целевой список кода продукта
WER1234
ASD1345
1 ответ
Это довольно отвратительно, но это делает работу. Он использует предикат LIKE для отклонения недопустимых строк. Возможно, вы также можете использовать предикат SIMILAR TO, чтобы указать приемлемые строки, но я думаю, что LIKE быстрее.
select prod_code from products
where prod_code not like '%\['+x'00'+'-'+x'2f'+','+
x'3a'+'-'+x'40'+','+
x'5d'+'-'+x'7f'+'\]%' escape '\'
and prod_code not like '%\%'
and prod_code not like '%[%'