美容院上班的女孩好吗:sql被零除错误

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 02:21:00
请教如何限定条件让分母不为零。
我现在用的语句:select a from b where xsl<>0 and xsje/xsl<=10
跑出来提示遇到被零除错误。
大家想想办法呀!

可以使用强大的decode函数来进行判断。
select a from b where xsl<>0 and xsje/decode(xsl,0,0.00001,xsl)<=10

decode(xsl,0,1,xsl)这段话的意思是:
当xsl是0时,现在就返回0.00001,当xsl不是0时,就返回xsl的值。
上句sql中你现在所需要改变只是第三个参数0.00001,具体改成什么值由你自己控制。

请确保你的xsl值不为0.

我跟你分析下错的原因
用WHERE筛选行的时候,你是筛选xsl不等于0且xsje除以xsl小于等于10,
它不是你当时想象中的先判断前面再判断后面表达式。 再用右边的表达式的时候便会产生除零的错误。
应该在已经筛选xsl不等于0的行中 用后面的条件表达式进行筛选。