sql - 除以我的查询中遇到的零错误
问题描述
每当我运行此查询时:
SELECT
Call_DT,
CAST(Talk_Sec_Count + Alloc_Sec_Count AS DECIMAL(16, 4)) AS Talk,
CAST(CT_Count * 1.0 - NP_Count / CT_Count * 1.0 AS DECIMAL(16, 4)) AS Quality,
Pymt_Rtn_Rt AS Utilization,
Agent_UID
FROM
[TableName]
WHERE
[Call_Date] <= 13
我收到此错误:
消息 8134,级别 16,状态 1,第 31 行
遇到除以零错误。
问题:我需要做什么才能在表中插入“零”以避免此错误?
解决方案
使用NULLIF()
:
CAST(CT_Count * 1.0 - NP_Count / NULLIF(CT_Count * 1.0, 0) AS DECIMAL(16, 4)) AS Quality,
NULL
如果分母是0
-- 防止错误,则返回。