Anda dapat menggunakan REGEXP_REPLACE sejak Oracle 10:
SELECT REGEXP_REPLACE('+34 (947) 123 456 ext. 2013', '[^0-9]+', '')
FROM DUAL
Contoh ini mengembalikan 349471234562013
.
Sintaks alternatif meliputi:
-
Kelas karakter POSIX:
'[^[:digit:]]+'
-
Ekstensi yang dipengaruhi Perl (sejak Oracle 11):
'\D+'