Du kan använda REGEXP_REPLACE sedan Oracle 10:
SELECT REGEXP_REPLACE('+34 (947) 123 456 ext. 2013', '[^0-9]+', '')
FROM DUAL
Det här exemplet returnerar 349471234562013
.
Alternativa syntaxer inkluderar:
-
POSIX-teckenklasser:
'[^[:digit:]]+'
-
Perl-influerade tillägg (sedan Oracle 11):
'\D+'