MySQL,避免DOUBLE值在POW中超出范围(2,1024)

时间:2014-10-14 17:53:17

标签: mysql

我注意到MySQL返回POW(2, 1024)错误,ERROR 1690(22003):POW(2,1024)中双值超出范围。如何避免这个错误?

我在一个非常丑陋的解决方案中思考:

IF (@EXPOENT > 1023) THEN @EXPOENT = 1023;
POW(2, @EXPOENT);

这与MySQL convert hex to double有关。

1 个答案:

答案 0 :(得分:2)

您可以使用LEAST()功能简化它:

POW(2, LEAST(@EXPOENT, 1023))