当我进行分割时,我面临来自db2的一些奇怪的行为,结果并不包含我所期望的所有十进制数,就好像它总是四舍五入到小数点后第五位。
实施例
SELECT
dec(dec(1040,4,0)/dec(9,1,0),16,13) as sample
FROM SYSIBM.SYSDUMMY1;
结果
SAMPLE
--------------------
115.55556
从上面的代码中,我预计会有 115.5555555555556 。就像计算器给我的一样。
谢谢, 欧文
答案 0 :(得分:0)
增加内部DEC
的比例和精度是否有效?例如:
SELECT
dec(dec(1040,16,13)/dec(9,16,13),16,13) as sample
FROM SYSIBM.SYSDUMMY1;
答案 1 :(得分:0)
十进制除法的精度和比例规则是。 。 。让我们使用形容词"奥术"。文档确实尝试explanation。
基本上,我建议你增加规模和精度。您可以从您的目标值开始:
SELECT dec(dec(1040, 20, 13) / dec(9, 20, 13), 16, 13) as sample
FROM SYSIBM.SYSDUMMY1;
我将第一个值的比例更改为20,因为16不够大,有13个小数点。