oracle保留两位小数
round保留两位
-
round
:四舍五入(最多保留两位,没有小数的时候不展示)
1 | select round(66.667,2) N1 from dual; |
trunc保留两位
-
trunc
:直接截断(最多保留两位,没有小数的时候不展示)
1 | select trunc(66.667,2) N2 from dual; |
始终保留两位
不管有没有小数都是保留两位,替换0.8即可使用。
1 | select to_char(round(0.8,2), 'fm99999999999990.00' ) from dual |
oracle最多保留两位小数-补充
注意,这里是最多保留两位小数,不是保留两位小数
oracle保留多少位小数的问题已经烂大街了,很多方法直接度娘就有,有的就不说了,下面这个这么简单不知道为什么没有人提出来!
这个方法在于:最多能保留两位小数,然而如果不用 to_number() 这个方法的话~~看代码和输出把
1 | select to_char( '222.1534' , 'FM9999999999999990.99' ) from dual |
输出结果:
222.15
1 | select to_char( '222.0034' , 'FM9999999999999990.99' ) from dual |
输出结果:
222.
1 | select to_number(to_char( '222.0034' , 'FM9999999999999990.99' )) from dual |
输出结果:
222
看到网上很多文章说用 case when ,decode(),trim() 等等,都可以,在于大家怎么用。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。