Можете да използвате REGEXP_REPLACE от Oracle 10:
SELECT REGEXP_REPLACE('+34 (947) 123 456 ext. 2013', '[^0-9]+', '')
FROM DUAL
Този пример връща 349471234562013
.
Алтернативните синтаксиси включват:
-
POSIX символни класове:
'[^[:digit:]]+'
-
Разширения, повлияни от Perl (от Oracle 11):
'\D+'