在MySQL中,此查询可能会抛出被零除的错误:
SELECT ROUND(noOfBoys / noOfGirls) AS ration
FROM student;
如果
noOfGirls
是0
,则计算将失败。处理此问题的最佳方法是什么?
我想有条件地将
noOfGirls
的值更改为1
,使其等于0
。有没有更好的办法?
最佳答案
是的,您可以做一个案例:
select case when noOfGirls=0 then noOfBoys
else round(noOfBoys/noOfGirls) end as ration
from student;
但是您可能想要:
select case when noOfGirls=0 then 1
else round(noOfBoys/noOfGirls) end as ration
from student;