sql >> Database >  >> RDS >> Oracle

Oracle regex - begint niet met en eindigt niet met

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 of a of b of c of ) ".


  1. mysql:gebruik SET of veel kolommen?

  2. Oracle DBMS - Lees een tabel voor verwerking Updaten in een AFTER-trigger - tabel muteren

  3. MySQL - verander OR in AND

  4. Hoe kan ik de databasenaam krijgen waarmee ik ben verbonden via Hibernate?