Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle Regexp schlägt in SQL fehl

Dies liegt daran, dass Oracle nur den POSIX-Standard für reguläre Ausdrücke unterstützt und nicht die Perl-Syntax, die Sie in Ihrem ersten Beispiel verwenden.

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

Bearbeiten:Als Alex Poole weist darauf hin, dass Oracle die Perl-Regex-Syntax seit Oracle 10gR2 tatsächlich unterstützt. Das Ausprobieren Ihres Beispiels auf meiner lokalen 11gR2-Installation deutet darauf hin, dass Ihre Syntax falsch ist, Folgendes funktioniert gut:

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