DBAtlas · 数据库运维图谱

8115: Arithmetic overflow error converting expression to data type(将表达式转换为数据类型时发生算术溢出错误)

SQL Server

含义

算术运算或转换产生的值超出了目标数据类型能容纳的范围。由于数字过大而发生溢出。

原因

和/积(SUM)超出 int 范围、将大值赋给类型较小的列、decimal 精度/小数位数不足,或 IDENTITY 值达到类型上限。

解决方法

在中间计算中使用更宽的类型(如 SUM 中使用 CAST(my_column AS bigint))。增大 decimal 精度/小数位数。扩大列类型以容纳数据。在计算前转换有溢出风险的表达式,并限制输入范围。

在 DBAtlas 中打开 →

同一数据库的其他条目