簡體   English   中英

通過計算獲得兩個值時,防止被零除

[英]prevent divide by zero when both values are obtained from a calculation

我正在嘗試完成以下任務:

(值_a +值_b)/(值_c +值_d)

通常,我避免使用以下方法除以零錯誤:

CASE WHEN value_a + value_b = 0
     THEN 0
     ELSE (value_a + value_b)/(value_c + value_d)
END

由於某種原因,它不起作用,這使我想知道過去我的結果集中是否有一個從未包含零。

對此,我們將不勝感激。

您正在檢查分子 ,而不是分母

CASE WHEN value_c + value_d = 0
     THEN 0
     ELSE (value_a + value_b)/(value_c + value_d)
END

另一種方法是使用NULLIFCOALESCE

COALESCE((value_a + value_b)/NULLIF((value_c + value_d),0)
  ,0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM