表示没有看懂。。到底要做什么。。。
with t as
(select '111.078' col
from dual
union all
select '111.05' col
from dual
)
select t.数据,replace(t.数据,'0','0.') as 处理后 from (
select
regexp_substr(col, '[^.]+', 1, level) as 数据
from t
connect by level <= regexp_count(col, '.') + 1
and col = prior col
and prior dbms_random.value > 0) t
where t.数据 is not null