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+'