相关疑难解决方法(0)

SQL Server 返回“将表达式转换为 int 数据类型时出现算术溢出错误”。

当我运行此命令时 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)

关于它的原因是什么的任何想法?

我只是按照这个答案中的说明进行操作。

sql-server aggregate datatypes sql-server-2017

27
推荐指数
2
解决办法
10万
查看次数

算术溢出错误

如果我运行此代码:

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

为什么我会在特定范围内收到此算术溢出错误?

sql-server t-sql sql-server-2008-r2 errors

5
推荐指数
2
解决办法
8143
查看次数