Testování na neshodu, jako je toto, může být komplikované, takže bych doporučoval testovat na shodu a výsledek negovat.
Nezačíná abc
:
WHERE NOT REGEXP_LIKE(myString, '^abc')
Nekončí na abc
:
WHERE NOT REGEXP_LIKE(myString, 'abc$')
Pokud jde o to, proč to nefunguje, jak říká @DavidKnipe ve své odpovědi:je to proto, že používáte třídy postav. Regulární výraz ^[^(abc)]
analyzuje takto:
- První
^
říká „kotva na začátek řetězce“ [^(abc)]
je třída znaků, která říká „vyhovuje libovolnému jednomu znak, pokud to není(
neboa
nebob
neboc
nebo)
".