DB2 EXP()命令返回算术溢出

时间:2014-05-13 13:23:32

标签: exception db2 overflow arithmetic-expressions

您好我在DB2中使用EXP()上的EXP()命令,因为

select distinct 1 - power(0.9144,exp(beta - 0.1)) from mytable

这一切都正常,直到我介绍exp()(beta - 0.1)。 beta是一个浮点数,范围在3018.878989897931和12289.951602012534之间。

我得到的错误是

Arithmetic overflow or other arithmetic exception occurred.. SQLCODE=-802,SQLSTATE=22003,DRIVER=3.64.106

这可能是什么问题?

1 个答案:

答案 0 :(得分:1)

显然,这里的问题是你超出了64位浮点数格式所代表的最大范围,大约是+ 1.79769E + 308。

如果确实需要使用更大的数字,请考虑在DECFLOAT(34)中执行计算(如果您的DB2版本支持此数据类型)。