Тестването за несъвпадение като това може да се усложни, така че бих препоръчал да тествате за съвпадение и да отхвърлите резултата.
Не започва с abc
:
WHERE NOT REGEXP_LIKE(myString, '^abc')
Не завършва с abc
:
WHERE NOT REGEXP_LIKE(myString, 'abc$')
Що се отнася до това защо не работи, както казва @DavidKnipe в отговора си:това е, защото използвате символни класове. Регулярният израз ^[^(abc)]
анализира по следния начин:
- Първият
^
казва "котва към началото на низа" [^(abc)]
е символен клас, който казва „съвпада с всеки единичен символ, стига да не е(
илиa
илиb
илиc
или)
".