Oracle to_char()函数 - 解决:小数与%拼接后,小数点前的0消失问题

/* 
    FM :除空格   
    9999999.0099:允许小数点左边最大正数为7位,小数点右边最少2位,最多4位,且在第5位进行四舍五入 
*/   
Select TO_CHAR (123.0233,'FM9999999.0099' ) FROM DUAL

说明:有9的地方如果有数字就显示如果没有数字就不显示,有0的地方在没有数字的时候也会有0来占位

 

参考:

Oracle to_char()函数相关详解 

oracle to_char()函数详解

select to_char(round(99.999,2),'fm9999990.0099') from dual; --结果 100.00

select round(99.999,2) from dual;--结果100

 

oracle中round函数是四舍五入,round(99.999,2)得到的数会是100,原想得到100.00

查询数字字段时, Oracle对于小于1的小数,小数点前面的0是不显示的。

oracle中数值类型会将小数点前后的0给隐去.

因此查询时不妨试试这个方法,加上to_char(值,'fm9999990.0099');

 

参考:

Oracle如何显示出小数点前后的0

round函数使用后,小数点前的0不见了

 


版权声明:本文为moqiyong666原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。