SQL Server中列求和时出现算术溢出

25

我正试图获取一列的总数,但当我运行此查询时,出现以下错误。有什么建议吗?

SELECT SUM(Size) as total
FROM  AllDocs
Where DirName LIKE 'sites/test/test%'


ERROR:
Msg 8115, Level 16, State 2, Line 1
Arithmetic overflow error converting expression to data type int.
Warning: Null value is eliminated by an aggregate or other SET operation.

2
看起来所有这些大小的总和超过了MAX int的值。 - Mitch Wheat
1个回答

56

虽然所有大小都可以适合INT(最大可达2^31 - 1),但它们的SUM不能。

将它们转换为BIGINT

SELECT  SUM(CAST(Size AS BIGINT)) as total
FROM    AllDocs
WHERE   DirName LIKE 'sites/test/test%'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接