网站/小程序/APP个性化定制开发,二开,改版等服务,加扣:8582-36016

这篇文章主要介绍了oracle中如何保留两位小数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

oracle保留两位小数

round保留两位

  • round:四舍五入(最多保留两位,没有小数的时候不展示)

select round(66.667,2) N1 from dual;

d583e1af65c1e6dbbf7897ca7fceef7b_2023021410243518.png

trunc保留两位

  • trunc:直接截断(最多保留两位,没有小数的时候不展示)

select trunc(66.667,2) N2 from dual;

a54779b49778afc5916180a4be61f918_2023021410243519.png

始终保留两位

不管有没有小数都是保留两位,替换0.8即可使用。

select to_char(round(0.8,2),'fm99999999999990.00') from dual

6d03638f91415ec66ac9541b061a31f7_2023021410243520.png

oracle最多保留两位小数-补充

注意,这里是最多保留两位小数,不是保留两位小数

oracle保留多少位小数的问题已经烂大街了,很多方法直接度娘就有,有的就不说了,下面这个这么简单不知道为什么没有人提出来!

这个方法在于:最多能保留两位小数,然而如果不用 to_number() 这个方法的话~~看代码和输出把

select to_char('222.1534','FM9999999999999990.99') from dual

输出结果:

222.15

select to_char('222.0034','FM9999999999999990.99') from dual

输出结果:

222.

select to_number(to_char('222.0034','FM9999999999999990.99')) from dual

输出结果:

222

看到网上很多文章说用 case when ,decode(),trim() 等等,都可以,在于大家怎么用。


评论 0

暂无评论
0
0
0
立即
投稿
发表
评论
返回
顶部