Sql 我能';在DB2中进行除法时,不能得到所有的小数部分

Sql 我能';在DB2中进行除法时,不能得到所有的小数部分,sql,db2,decimal,Sql,Db2,Decimal,当我除法时,db2会出现一些奇怪的行为,结果并没有包含我所期望的所有十进制数,好像它总是四舍五入到小数点后五位 范例 SELECT dec(dec(1040,4,0)/dec(9,1,0),16,13) as sample FROM SYSIBM.SYSDUMMY1; 结果 SAMPLE -------------------- 115.55556 从上面的代码中,我期望结果是115.555555556。就像计算器给我的一样 谢谢, Erwin增加

当我除法时,db2会出现一些奇怪的行为,结果并没有包含我所期望的所有十进制数,好像它总是四舍五入到小数点后五位

范例

SELECT 
dec(dec(1040,4,0)/dec(9,1,0),16,13) as sample
FROM SYSIBM.SYSDUMMY1;
结果

    SAMPLE              
--------------------
115.55556   
从上面的代码中,我期望结果是115.555555556。就像计算器给我的一样

谢谢,
Erwin

增加内部
DEC
的比例和精度是否有效?例如:

SELECT 
dec(dec(1040,16,13)/dec(9,16,13),16,13) as sample
FROM SYSIBM.SYSDUMMY1;

小数除法的精度和小数位数的规则是。让我们用形容词“奥术”。该文档确实尝试了一种新的方法

基本上,我建议你只是增加比例和精度。您不妨从您的目标值开始:

SELECT dec(dec(1040, 20, 13) / dec(9, 20, 13), 16, 13) as sample
FROM SYSIBM.SYSDUMMY1;

我将第一个值的刻度改为20,因为16不够大,只有13个小数点。

什么平台和版本的DB2?在DB2fori7.2上,我得到115.555作为您的声明。另外,你用什么工具来运行声明?谢谢你给我的想法。该工具是我的问题的罪魁祸首扩展松鼠显示20十二月或设置本地保存了一天为我。