At teste for ikke-match som denne kan blive kompliceret, så jeg vil anbefale at teste for et match og negere resultatet.
Starter ikke med abc :
WHERE NOT REGEXP_LIKE(myString, '^abc')
Ender ikke med abc :
WHERE NOT REGEXP_LIKE(myString, 'abc$')
Med hensyn til hvorfor det ikke virker, som @DavidKnipe siger i sit svar:det er fordi du bruger karakterklasser. Regex ^[^(abc)] analyserer sådan her:
- Den første
^siger "anker til begyndelsen af strengen" [^(abc)] er en karakterklasse, der siger "match enhver enkelt tegn, så længe det ikke er (elleraellerbellerceller)".