日期:2014-05-17  浏览次数:20878 次

排序怎么解决被零除的错误??
order   by   jg2/jg1*100,id   desc
有时候jg1和jg2是零,这样就会出错,有什么办法解决吗?

------解决方案--------------------
肯定要事先判断的
------解决方案--------------------
还是加个字段保存 jg2/jg1*100 这个值吧.
------解决方案--------------------
Dim sql = "select top 100 * from a order by "

If(jg2 = 0 or jg1 = 0) Then
sql = sql + "id desc "
Else
sql = sql + "jg2/jg1*100,id desc "
End If

你可以根据你的实际需求去改一下

------解决方案--------------------
order by case jg1 when 0 then 0 else jg2/jg1*100 end ,id desc
------解决方案--------------------

用ISNULL(原值,替代值)来处理就行