如何避免SQL中的“零除”錯誤?我有一條錯誤消息:MSG 8134,16級,狀態1,1行除以遇到的零錯誤。寫SQL代碼的最好方法是什么,這樣我就不會再看到這個錯誤消息了?我可以做以下任何一件事:添加WHERE子句,使我的除數永遠不會為零或我可以添加一個案例陳述,這樣就有了對零的特殊處理。是使用NULLIF條款?是否有更好的辦法,或如何執行?
3 回答

慕娘9325324
TA貢獻1783條經驗 獲得超4個贊
Select Case when divisor=0 then nullElse dividend / divisorEnd ,,,
Select dividend / NULLIF(divisor, 0) ...

Helenr
TA貢獻1780條經驗 獲得超4個贊
SELECT COALESCE(dividend / NULLIF(divisor,0), 0) FROM sometable

手掌心
TA貢獻1942條經驗 獲得超3個贊
這似乎是最好的解決我的情況時,試圖解決除以零,這確實發生在我的數據。
SELECT club_id, males, females, males/females AS ratio FROM school_clubs;
NULLIF
NULLIF
SELECT club_id, males, females, males/NULLIF(females, 0) AS ratio FROM school_clubs;
NULL
NULL
添加回答
舉報
0/150
提交
取消