Możesz użyć REGEXP_REPLACE od Oracle 10:
SELECT REGEXP_REPLACE('+34 (947) 123 456 ext. 2013', '[^0-9]+', '')
FROM DUAL
Ten przykład zwraca 349471234562013
.
Alternatywne składnie obejmują:
-
Klasy znaków POSIX:
'[^[:digit:]]+'
-
Rozszerzenia zainspirowane Perlem (od Oracle 11):
'\D+'