Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle Regexp falha no SQL


Isso ocorre porque o Oracle suporta apenas o padrão de expressões regulares POSIX, em vez da sintaxe Perl que você usa em seu primeiro exemplo.

Documentos Oracle:http://docs.oracle. com/cd/B19306_01/appdev.102/b14251/adfns_regexp.htm#CHDJGBGG Padrão Regex POSIX:http://pubs.opengroup.org/onlinepubs/007908799 /xbd/re.html

Editar:como Alex Poole aponta que o Oracle realmente suporta a sintaxe Perl regex desde o Oracle 10gR2. Tentar seu exemplo na minha instalação local do 11gR2 sugere que sua sintaxe está errada, o seguinte funciona bem:

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