48

当我尝试从表中获取列的总和时,我得到了错误Arithmetic overflow error converting expression to data type int,因为结果数字对于 INT 来说太大了。所以我尝试使用以下方法投射到 BIGINT

SELECT CAST(SUM(columnname) AS BIGINT) FROM tablename

这给了我同样的错误。任何想法我做错了什么?

4

1 回答 1

82

在求和之前尝试转换它。例如。

SELECT SUM(CONVERT(bigint, columnname)) FROM tablename

或者

SELECT SUM(CAST(columnname AS BIGINT)) FROM tablename
于 2009-09-04T07:35:39.820 回答