sql >> Databasteknik >  >> RDS >> Oracle

Oracle regex - börjar inte med och slutar inte med

Att testa för icke-matchning som detta kan bli komplicerat, så jag skulle rekommendera att testa för en matchning och förneka resultatet.

Börjar inte med abc :

WHERE NOT REGEXP_LIKE(myString, '^abc')

Slutar inte med abc :

WHERE NOT REGEXP_LIKE(myString, 'abc$')

Vad gäller varför det inte fungerar, som @DavidKnipe säger i sitt svar:det är för att du använder karaktärsklasser. Regexet ^[^(abc)] analyserar så här:

  • Den första ^ säger "ankare till början av strängen"
  • [^(abc)] är en teckenklass som säger "matcha vilken enkel som helst tecken så länge det inte är ( eller a eller b eller c eller ) ".


  1. 5 typer av databasreparationer

  2. Hur samlar man in födelsedatum från php-formulär och infogar i mysql?

  3. Hur man bestämmer det totala antalet öppna/aktiva anslutningar i ms sql server 2005

  4. Hur man lagrar JSON-sträng i MySQL db