当我运行此命令时 SUM()
SELECT COUNT(*) AS [Records], SUM(t.Amount) AS [Total]
FROM dbo.t1 AS t
WHERE t.Id > 0
AND t.Id < 101;
Run Code Online (Sandbox Code Playgroud)
我越来越,
Arithmetic overflow error converting expression to data type int.
Run Code Online (Sandbox Code Playgroud)
关于它的原因是什么的任何想法?
我只是按照这个答案中的说明进行操作。
如果我运行此代码:
select 99999 * 9999
Run Code Online (Sandbox Code Playgroud)
结果 = 999890001
如果我运行此代码:
select 9999923 * 99999999
Run Code Online (Sandbox Code Playgroud)
结果:
消息 8115,级别 16,状态 2,第 1 行
将表达式转换为数据类型 int 的算术溢出错误。
如果我运行以下代码:
select 922337299987987689745893 * 999999994564
Run Code Online (Sandbox Code Playgroud)
结果 = 922337294974162127011191918541325652
为什么我会在特定范围内收到此算术溢出错误?