oracle中如何保留两位小数(oracle中保留小数点后两位)原创

随心笔谈2年前发布 admin
200 0 0

文章摘要

这篇文章介绍了在Oracle数据库中如何保留两位小数的几种方法。主要包括以下几种方法和特点: 1. **ROUND函数**:`ROUND(number, 2)`,用于四舍五入保留两位小数,结果会显示两位小数,即使小数部分为零,如`222.00`。 2. **TRUNC函数**:`TRUNC(number, 2)`,用于直接截断保留两位小数,结果不展示多余的小数零,如`222.15`或`222.`。 3. **TO_CHAR函数结合FM格式**:`TO_CHAR(number, 'FM99999999999990.00')`,最多保留两位小数,当结果为整数时会显示两位零,如`222.15`,而不保留多余零。 文章还提到,这些方法各有优缺点,建议根据具体需求选择合适的保留方式。



目录oracle保留两位小数round保留两位trunc保留两位始终保留两位oracle最多保留两位小数-补充总结

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

select round(66.667,2) N1 from dual;

在这里插入图片描述

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

select trunc(66.667,2) N2 from dual;

在这里插入图片描述

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

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

在这里插入图片描述

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

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() 等等,都可以,在于大家怎么用。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:Oracle中插入特殊字符:&和’的解决方法汇总Oracle SQL语句实现数字四舍五入取整oracle数据库常用的99条查询语句

© 版权声明

相关文章