为何SELECT 123456.123456789123456 FROM Dual;回归123456.123457?
如何提高这种精度?
我问这是因为我总结了定义的成本值NUMBER(38,20),我可以注意到错误已经累积,但由于这些数字代表了金钱,因此四舍五入是不可接受的.
不仅是我使用的工具对数字显示进行舍入,而且数字本身是四舍五入的,因为所做的报告也包含累积的错误.
嗯,事实并非如此.但正如您所说,显示结果的工具(例如SQL Plus)可能会将其四舍五入以进行显示:
SQL> SELECT 123456.123456789123456 n from dual;
N
----------
123456.123
SQL> column n format 9999999999.99999999999999999999999999999
SQL> SELECT 123456.123456789123456 n from dual;
N
-----------------------------------------
123456.12345678912345600000000000000
Run Code Online (Sandbox Code Playgroud)
在我指定格式掩码之前,SQL Plus四舍五入到小数点后3位.
至于你的报告显然是对它总和的数据进行舍入,我们可能需要看一个SQL和输入/输出数据的例子.
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |