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

42 sql sql-server math casting bigint

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

SELECT CAST(SUM(columnname) AS BIGINT) FROM tablename
Run Code Online (Sandbox Code Playgroud)

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

Rob*_*Day 78

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

SELECT SUM(CONVERT(bigint, columnname)) FROM tablename
Run Code Online (Sandbox Code Playgroud)

要么

SELECT SUM(CAST(columnname AS BIGINT)) FROM tablename
Run Code Online (Sandbox Code Playgroud)