DBAtlas · 数据库运维图谱

8134: Divide by zero error encountered(遇到以零作除数错误)

SQL Server

含义

由于算术表达式中的除数为零,发生了除零错误。SQL Server 无法完成除法并终止查询。

原因

用作除数的列或表达式计算结果为 0、平均值/比率计算中分母为零、未使用 NULLIF 的除法,或数据中出现意外的零值。

解决方法

用 NULLIF 保护分母(如 value / NULLIF(denominator, 0));结果变为 NULL,可用 ISNULL/COALESCE 提供默认值。使用 CASE WHEN denominator = 0 THEN NULL ELSE value/denominator END。在除法前用 WHERE 过滤掉零值。必要时评估 SET ARITHABORT/ANSI_WARNINGS 的行为。

在 DBAtlas 中打开 →

同一数据库的其他条目