我想在SQL Server 2017 Developer中创建一个计算列
ISNULL([Nominator]/NULLIF([Denominator]), 0) AS [Recidivation]
但这会引发错误
'('附近的语法不正确。
此语法有效:
[Nominator]/[Denominator] AS [Recidivation]
我必须是盲人或其他什么,但有人知道如何在一个计算列中阻止除零,如上所示?
帮助将不胜感激。谢谢。
你需要一个额外的, 0
。我也更喜欢标准的COALESCE()
功能。所以:
COALESCE(Nominator / NULLIF(Denominator, 0), 0) AS [Recidivation]
我也认为case
的意图可能更清楚:
(CASE WHEN Denominator = 0 or Denominator IS NULL THEN 0
ELSE Nominator / Denominator
END)