您好我在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
这可能是什么问题?
答案 0 :(得分:1)
显然,这里的问题是你超出了64位浮点数格式所代表的最大范围,大约是+ 1.79769E + 308。
如果确实需要使用更大的数字,请考虑在DECFLOAT(34)
中执行计算(如果您的DB2版本支持此数据类型)。