Oracle 小数点前后的0不显示

oracle中round函数是四舍五入,round(99.999,2)得到的数会是100,原想得到100.00
查询数字字段时, Oracle对于小于1的小数,小数点前面的0是不显示的。
oracle中数值类型会将小数点前后的0给隐去.
因此查询时不妨试试这个方法,加上to_char(值,’fm9999990.0099’);

to_char(0.11,’fm9999999999990.0099’)

如果在to_char函数前面加上decode等其他函数,0值依然会不显示,以此,需要放在最外层;如下例:

select to_char(decode(2,
              0,
              0,
               trunc((3 / 473) * 100, 2) ),'fm9999999999990.0099') ||'%'  from dual;

你可能感兴趣的:(Oracle,SQL)