1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| with exp as (
select '100.3600' nb from dual union all
select '1000.0000' nb from dual union all
select '11500.0000' nb from dual union all
select '5000.7500' nb from dual union all
select '1000.0000' nb from dual union all
select '2000.0000' nb from dual union all
select '1500.0000' nb from dual union all
select '10.0000' nb from dual union all
select '10.3800-' nb from dual union all
select '1000.0000' nb from dual union all
select '10000.0000' nb from dual union all
select '100.0000' nb from dual union all
select '150000.0000' nb from dual union all
select '1000.0000' nb from dual union all
select '20.0000' nb from dual
)
select to_number(decode(substr(nb,length(nb),1),'-',nb,nb||' '),'99999999D9999MI','NLS_NUMERIC_CHARACTERS =''. ''') exp1
,to_number(decode(substr(nb,length(nb),1),'-',nb,nb||'+'),'99999999D9999MI','NLS_NUMERIC_CHARACTERS =''. ''') exp2
from exp |
Partager