如何避免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
提交
取消