Testen op niet-overeenkomsten zoals deze kan ingewikkeld worden, dus ik raad aan om te testen op een overeenkomst en het resultaat te negeren.
Begint niet met abc :
WHERE NOT REGEXP_LIKE(myString, '^abc')
Eindigt niet op abc :
WHERE NOT REGEXP_LIKE(myString, 'abc$')
Wat betreft waarom het niet werkt, zoals @DavidKnipe in zijn antwoord zegt:het komt omdat je karakterklassen gebruikt. De regex ^[^(abc)] ontleedt als volgt:
- De eerste
^zegt "anker aan het begin van de string" - De
[^(abc)]is een tekenklasse die zegt "kom overeen met elke enkele karakter zolang het niet(. is ofaofbofcof)".