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 に答える