求和INT时的算术溢出错误,如何将其转换为BIGINT?

时间:2009-09-04 07:32:37

标签: sql sql-server casting math bigint

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

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

这给了我同样的错误。我有什么想法吗?

1 个答案:

答案 0 :(得分:75)

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

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

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