2015-01-22 1 views
0

Мне нужно регулярное выражение, чтобы исключить значения определенного шаблона.Oracle регулярное выражение для исключения значений с шаблоном

REGEXP_LIKE(name,'[0-9].rm') # this returns values like 123rm, 456rm etc. 

Мне нужно исключить значения с указанным выше форматом.

Я пробовал оба из следующего, но ничего не возвращает.

REGEXP_LIKE(name,'^[[0-9].rm]') 
REGEXP_LIKE(name,'^([0-9].rm)') 

Помогите! Заранее спасибо

+0

каких ценностей вы хотите, чтобы исключить ? вы имеете в виду цифры? можете ли вы показать ожидаемый результат на примере? – jfun

+0

Я хочу точно отрицать выражение выше reg. он должен возвращать значения, такие как abc12, abc, ab12ac, rm123, rm12abc и т. д. –

+2

не 'NOT REGEXP_LIKE (...)' работает? Удачи. – shellter

ответ

0

Вы пробовали:

SELECT * FROM table WHERE NOT REGEXP_LIKE(name, '[0-9].rm', 'c'); 
1

Так как вы хотите отрицание вашего регулярного выражения, вы должны использовать NOT в условии запроса:

select ... 
    from ... 
where ... 
    NOT REGEXP_LIKE(name,'[0-9].rm') 
Смежные вопросы