【问题标题】:An error in Null Value空值错误
【发布时间】:2017-02-15 12:34:26
【问题描述】:

当我遇到错误时,请帮助我:

遇到除以零错误。
警告:空值被聚合或其他 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

【问题讨论】:

  • 您有一个错误 - “遇到除以零错误”。 (另一个“空值被消除......”只是发送给 SUM 的某些值是空的信息。)

标签: sql


【解决方案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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多