Ну, вам нужно REGEXP_REPLACE
, а не REPLACE
(по крайней мере, согласно написанному вами коду).
Например:
SQL> with nms_data (alias) as
2 (select 'abc993' from dual union all
3 select '332#$' from dual union all
4 select '--' from dual union all
5 select 'xyz' from dual union all
6 select '1234' from dual union all
7 select '$#%' from dual
8 )
9 select alias,
10 regexp_replace(alias, '[^0-9]', '') result
11 from nms_data
12 where alias <> '--';
ALIAS RESULT
------ --------------------
abc993 993
332#$ 332
xyz
1234 1234
$#%
SQL>