SQL Специальные символы в таблицах - PullRequest
0 голосов
/ 23 марта 2020

мы используем следующие SQL для идентификации нескольких строк, которые содержат только СПЕЦИАЛЬНЫЕ ХАРАКТЕРЫ 'F@C (!!'. Но, похоже, он не захватывает некоторые СПЕЦИАЛЬНЫЕ ХАРАКТЕРЫ, такие как 'F@C (!!'. Скрипт должен захватывать только специальные символы. Не могли бы вы поделиться оптимизированным сценарием для использования в этом сценарии

       when regexp_like(column_name '^[^a-zA-Z]*$') then 'number'
       when regexp_like(column_name, '^[^g-zG-Z]*$') then 'hex'
       else 'string'

end

1 Ответ

0 голосов
/ 23 марта 2020

Попробуйте удалить якоря ^ и $ из шаблона регулярного выражения, который вы используете с regexp_like:

select *
from your_table
where regexp_like(column_name, '[^a-zA-Z]');

В приведенных выше логах c будет проверяться наличие одного или нескольких символы, которые не являются буквами. Если вместо этого вы хотите проверить не alphanumeri c, используйте [^A-Za-z0-9].

...