如何解决在DB2中执行乘法和十进制数除法时如何使用Precision和Scalling
我的表格数据如下
+------+----------+---------------+
| col1 | col2 | col3 |
+------+----------+---------------+
| 1 | 32679050 | 1017593887.44 |
| 1 | 45756670 | 917011235.08 |
+------+----------+---------------+
我正在尝试按以下方式对上面的表数据进行乘法和除法并将错误接收为** SQLCODE = -802,SQLSTATE = 22003 **
Select col1,decimal(sum(col2)*sum(col3),17,2) as col2,decimal(sum(col2)/sum(col3),2) as col3 from
table group by col1;
正如我所了解的那样,问题出在输出列的前置和缩放,并且可以理解DB2中的精度和缩放如何工作。
任何有价值的线索都会有所帮助!
解决方法
select col1,decimal(sum(col2)*decimal(sum(col3),17,2),2) as col2,decimal(sum(col2)/decimal(sum(col3),2) as col3 from table group by col1;
上面的SQL查询解决了这个问题。
因此,我将十进制值的总和转换为十进制,并将结果再次转换为十进制值的乘积或除法再转换为十进制,以实现最终结果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。