首页 > 代码库 > 奇怪的 sql server 2008 Power 函数
奇怪的 sql server 2008 Power 函数
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,
也不报错了
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。