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

Oracle:Substituindo caracteres não numéricos em uma string


Você pode usar REGEXP_REPLACE desde o Oracle 10:
SELECT REGEXP_REPLACE('+34 (947) 123 456 ext. 2013', '[^0-9]+', '')
FROM DUAL

Este exemplo retorna 349471234562013 .

Sintaxes alternativas incluem:

  • Classes de caracteres POSIX:
    '[^[:digit:]]+'
    

  • Extensões influenciadas por Perl (desde Oracle 11):
    '\D+'