Ошибка арифметического переполнения при суммировании INT, как я могу использовать его как BIGINT?

Когда я пытаюсь получить сумму столбца из таблицы, я получаю ошибку Arithmetic overflow error converting expression to data type int, потому что полученное число является большим для INT. Поэтому я попытался выполнить CAST на BIGINT, используя следующие

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

Это дает мне ту же ошибку. Любые идеи, что я делаю неправильно?

Ответ 1

Попробуйте преобразовать его перед суммированием. например.

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

или

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