2017-01-11 4 views
2

Я ищу строку соответствия, за которой не следует один символ, но за ним могут следовать 0 или более любых других символов, использующих REGEXP_LIKE в Oracle. Например, если у меня есть эти записи:Oracle REGEXP_LIKE - строка поиска, не сопровождаемая определенным символом

ABCD 
ABCDE 
ABCDGH 
ABCDF 
ABCDUYR 

мне нужно, чтобы получить все, кроме ABCDE

Я попытался REGEXP_LIKE(column,'^ABCD[^E]') Но это также не включает ABCD. Пожалуйста, помогите.

Спасибо!

ответ

0

Попробуйте это:

REGEXP_LIKE(column,'^ABCD[^E]*') 

* совпадения нулей или более символов

+0

это вернет 'ABCDE' тоже. –

+0

... и, с другой стороны, он отклонит ABCDJKE, который он не должен отклонять. – mathguy

2

Чтобы исключить строки, содержащие E с последующим ABCD использования

REGEXP_LIKE(col,'^ABCD([^E]|$)') 

^ABCD([^E]|$) - ABCD следует любой символ (ы), кроме E или строки ABCD, и после этого никаких других символов.

+0

это работает !! Спасибо @vkp – datalearner

 Смежные вопросы

  • Нет связанных вопросов^_^