Můžete použít REGEXP_REPLACE od Oracle 10:
SELECT REGEXP_REPLACE('+34 (947) 123 456 ext. 2013', '[^0-9]+', '')
FROM DUAL
Tento příklad vrátí 349471234562013 .
Mezi alternativní syntaxe patří:
-
Třídy znaků POSIX:
'[^[:digit:]]+' -
Rozšíření ovlivněná Perlem (od Oracle 11):
'\D+'