字段1   字段2  字段3
59385   53559  90.12%
93      90     96.77%
0       100    0%字段3得到的意思就是字段2除以字段1得到的,以下是我写的,如果放在聚合函数里求汇总的,其它字段都是sum求和的
cast(字段1/字段2 as numeric(38,2))*100
以下是提示的错误信息
消息 8134,级别 16,状态 1,第 1 行
遇到以零作除数错误。

解决方案 »

  1.   

    cast(字段1/case when 字段2=0 THEN 1 ELSE 字段2 end as numeric(38,2))*100判斷是否為0
      

  2.   

    cast(字段1/case when 字段1=0 THEN 0.00000000001 ELSE 字段1 end as numeric(38,2))*100
      

  3.   


    case when 字段2=0 THEN 0 ELSE 字段1/字段2 * 100.00 end 
      

  4.   

    第三行的字段2/字段1这样计算100/0在数学上0不可以做除数的,所以会遇到错误,楼主看看你的除数为零的时候如何计算按楼上的用case when