Проверка на NUMBER
with ds as
(select '17j' as f from dual union all
select 'www12' as f from dual union all
select '45' as f from dual union all
select '+3' as f from dual union all
select '12345' as f from dual union all
select '-17.0 ' as f from dual union all
select 'a23' as f from dual union all
select ' +1.4' as f from dual)
SELECT trim(t.f),length(trim(translate(t.f,'+-.0123456789 ',' ')))
FROM ds t
WHERE length(trim(translate(t.f,'+-.0123456789 ',' '))) is null
select 'www12' as f from dual union all
select '45' as f from dual union all
select '+3' as f from dual union all
select '12345' as f from dual union all
select '-17.0 ' as f from dual union all
select 'a23' as f from dual union all
select ' +1.4' as f from dual)
SELECT trim(t.f),length(trim(translate(t.f,'+-.0123456789 ',' ')))
FROM ds t
WHERE length(trim(translate(t.f,'+-.0123456789 ',' '))) is null
SELECT TRANSLATE('123 455,23', '., ', '..') x1,
TRANSLATE('-123 455.23', '., ', '.') x2
FROM dual