空值中的错误

时间:2017-02-15 12:34:27

标签: sql

在我收到错误时请帮助我:

  

遇到零误差。
  警告:聚合或其他SET操作消除了空值。

以下是代码: -

(CAST(SUM(ISNULL(Cur.CurAmount,0)) AS FLOAT) - 
CAST(SUM(ISNULL(GLActualAmount,0)) AS FLOAT)) / 
CAST(SUM(ISNULL(GLActualAmount,0)) AS FLOAT) * 100 GROWTH_AMT

2 个答案:

答案 0 :(得分:1)

在这种情况下我使用NULLIF()

(CAST(SUM(ISNULL(Cur.CurAmount,0)) AS FLOAT) - 
 CAST(SUM(ISNULL(GLActualAmount,0)) AS FLOAT)
) / 
NULLIF(CAST(SUM(ISNULL(GLActualAmount,0)) AS FLOAT) * 100, 0) as GROWTH_AMT

答案 1 :(得分:1)

除以零总是会出错。我会在查询结尾添加WHERE ISNULL(GLActualAmount,0) <> 0),因为如果GLActualAmount为零,则结果毫无意义。