Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle :remplacement de caractères non numériques dans une chaîne

Vous pouvez utiliser REGEXP_REPLACE depuis Oracle 10 :

SELECT REGEXP_REPLACE('+34 (947) 123 456 ext. 2013', '[^0-9]+', '')
FROM DUAL

Cet exemple renvoie 349471234562013 .

Les syntaxes alternatives incluent :

  • Classes de caractères POSIX :

    '[^[:digit:]]+'
    
  • Extensions influencées par Perl (depuis Oracle 11) :

    '\D+'