Sie können REGEXP_REPLACE verwenden seit Oracle 10:
SELECT REGEXP_REPLACE('+34 (947) 123 456 ext. 2013', '[^0-9]+', '')
FROM DUAL
Dieses Beispiel gibt 349471234562013
zurück .
Alternative Syntaxen umfassen:
-
POSIX-Zeichenklassen:
'[^[:digit:]]+'
-
Perl-beeinflusste Erweiterungen (seit Oracle 11):
'\D+'