Я работаю над SQL Developer. Мне нужны только те записи, которые содержат нечисловые данные. Я использовал следующий запрос:
select * from TBL_NAME where regexp_like (mapping_name,'%[!0-9]%');
Как ни странно, это не работает.
Символ процента не соответствует всем символам в синтаксисе регулярного выражения. И челка не означает НЕ. Прочтите о синтаксисе регулярных выражений, это целый отдельный язык, чтобы по-новому взглянуть на него!


Как насчет этого? Как вы сказали, возвращаемые значения НЕ являются числами.
SQL> with test (col) as
2 (select 'abc123' from dual union
3 select '12345' from dual union
4 select 'abc' from dual union
5 select '($ff3' from dual union
6 select '12.345' from dual
7 )
8 select col
9 from test
10 where not regexp_like (col, '^\d+|(\.\d+)$');
COL
------
($ff3
abc
abc123
SQL>
Если десятичных значений нет, регулярное выражение еще проще: '^\d+$'
[ИЗМЕНИТЬ, после того как были предоставлены образцы данных]
Кусок пирога:
SQL> with test (col) as
2 (select 'ABC' from dual union
3 select 'BCE1' from dual union
4 select '2GHY' from dual union
5 select 'WE56S' from dual union
6 select 'TUY' from dual
7 )
8 select col
9 from test
10 where not regexp_like (col, '\d');
COL
-----
ABC
TUY
SQL>
Спасибо за ответ, но это не то, что я хочу получить. Предположим, у меня есть столбец COL1, а его значения - «ABC», «BCE1», «2GHY», «WE56S», «TUY». Теперь в выводе мне нужны только значения, содержащие только алфавиты. Выходные данные должны быть: 'ABC', 'TUY'. Так как это единственные значения, которые не имеют числовых символов.
Что ж, если бы вы предоставили свой собственный тестовый пример, а также желаемый результат, было бы легче ответить.
Входные значения в COL1: 'ABC', 'BCE1', '2GHY', 'WE56S', 'TUY' и выходные должны быть: 'ABC', 'TUY'
Это сработало, большое спасибо. Теперь у меня возникает вопрос, почему это не дает ожидаемого результата: выберите * from TBL_NAME, где regexp_like (mapping_name, '% [! 0-9]%');
Потому что это неправильно? % ничего не делает в REGEXP_LIKE регулярного выражения (это не обычный LIKE), а "!" не означает «отрицание», здесь это не имеет значения. Посмотрите на действующие шаблоны здесь: techonthenet.com/oracle/regexp_like.php
Пожалуйста, дайте использовать какие-то данные для работы? Какая исходная таблица, каков результат запроса «что вы хотите?»