8115: Arithmetic overflow error converting expression to data type(将表达式转换为数据类型时发生算术溢出错误)
SQL Server含义
算术运算或转换产生的值超出了目标数据类型能容纳的范围。由于数字过大而发生溢出。
原因
和/积(SUM)超出 int 范围、将大值赋给类型较小的列、decimal 精度/小数位数不足,或 IDENTITY 值达到类型上限。
解决方法
在中间计算中使用更宽的类型(如 SUM 中使用 CAST(my_column AS bigint))。增大 decimal 精度/小数位数。扩大列类型以容纳数据。在计算前转换有溢出风险的表达式,并限制输入范围。
同一数据库的其他条目
- 8134Divide by zero error encountered(遇到以零作除数错误)
- 245Conversion failed when converting the value to data type(将值转换为数据类型时失败)
- 515Cannot insert the value NULL into column(不能将值 NULL 插入列)
- 512Subquery returned more than 1 value(子查询返回的值不止一个)
- 207Invalid column name(列名无效)
- 156Incorrect syntax near the keyword(关键字附近有语法错误)
- 2812Could not find stored procedure(找不到存储过程)