oracle中关于截取NUMBER型整数和小数的问题

2025-03-13 19:08:07
推荐回答(3个)
回答1:

如果 是24.24要怎么弄?你可以判断他是大于1 还是小于1
如果大于1 再判断他是不是整数,如果小于1 判断 等不等于0 然后再用round()函数,或者 substr 就可以了!

回答2:

用case吧
case when instr(a,'.0')>0 then substr(a,instr(a,'.0',1,1)+1)
else
to_char(a,'99990.00')
end case

回答3:

select decode(sign(trunc(a,2)-trunc(a)),1,trunc(a,2),0,trunc(a)) from dual;