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

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

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

手掌心
TA貢獻1942條經(jīng)驗 獲得超3個贊
這似乎是最好的解決我的情況時,試圖解決除以零,這確實發(fā)生在我的數(shù)據(jù)。
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
提交
取消