Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle Regexp non riesce in SQL

Questo perché Oracle supporta solo lo standard delle espressioni regolari POSIX, piuttosto che la sintassi Perl che usi nel tuo primo esempio.

Documenti Oracle: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

Modifica:come Alex Poole sottolinea Oracle in realtà supporta la sintassi regex Perl da Oracle 10gR2. Provare il tuo esempio sulla mia installazione 11gR2 locale suggerisce che la tua sintassi è sbagliata, quanto segue funziona bene:

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