sql >> Databáze >  >> RDS >> Oracle

Oracle regex - nezačíná a nekončí

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í ( nebo a nebo b nebo c nebo ) ".


  1. Laravel Sail obnoví výchozí databázi

  2. Použití funkce Oracle to_date pro řetězec data s milisekundami

  3. Jak poslat PHP mailer na více e-mailových adres přijatých pomocí dotazu MySQL

  4. MySql Jak nastavit místní proměnnou v příkazu aktualizace (Syntaxe?)