Tester la non-correspondance comme celle-ci peut devenir compliqué, je vous recommande donc de tester une correspondance et d'annuler le résultat.
Ne commence pas par abc
:
WHERE NOT REGEXP_LIKE(myString, '^abc')
Ne se termine pas par abc
:
WHERE NOT REGEXP_LIKE(myString, 'abc$')
Quant à savoir pourquoi cela ne fonctionne pas, comme le dit @DavidKnipe dans sa réponse :c'est parce que vous utilisez des classes de caractères. L'expression régulière ^[^(abc)]
analyse comme ceci :
- Le premier
^
dit "ancrer au début de la chaîne" - Le
[^(abc)]
est une classe de caractères qui dit "correspond à n'importe quel simple caractère tant qu'il n'est pas(
oua
oub
ouc
ou)
".