sql >> Database >  >> RDS >> Oracle

Oracle Regexp mislukt in SQL

Dit komt omdat Oracle alleen de POSIX-standaard voor reguliere expressies ondersteunt, in plaats van de Perl-syntaxis die u in uw eerste voorbeeld gebruikt.

Oracle Docs:http://docs.oracle. com/cd/B19306_01/appdev.102/b14251/adfns_regexp.htm#CHDJGBGG POSIX Regex-standaard:http://pubs.opengroup.org/onlinepubs/007908799 /xbd/re.html

Bewerken:als Alex Poole wijst erop dat Oracle de Perl regex-syntaxis daadwerkelijk ondersteunt sinds Oracle 10gR2. Als ik je voorbeeld probeer op mijn lokale 11gR2-installatie, suggereert dit dat je syntaxis verkeerd is, het volgende werkt prima:

SELECT 1 FROM dual WHERE regexp_like('040', '^\d{3}$');



  1. Datetime gelijk aan of groter dan vandaag in MySQL

  2. Hoe test ik of een kolom gelijk is aan empty_clob() in Oracle?

  3. SQL UNION ALL om duplicaten te elimineren

  4. Hibernate + MySQL:de codering utf-8 instellen voor database en tabellen