Как отфильтровать данные с помощью специального символа в векторе

В моей таблице продуктов есть столбец с именем 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 '%[%'
Другие вопросы по тегам