您的位置:首页 > 数据库

奇怪的 sql server 2008 Power 函数

2014-06-01 20:38 387 查看
bigint 的 数据范围是 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据

但是 , 如果这么写

print CAST(POWER(3, 20) AS BIGINT)


会报这个错误

Msg 232, Level 16, State 3, Line 1
Arithmetic overflow error for type int, value = 3486784401.000000.


尽管 3486784401 小于 bigint的最大值 。

解决方法是 : 改写成

print CAST(POWER(3.0, 20) AS BIGINT)


这样,输出的结果就是

3486784401,

也不报错了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: