Sql 具有空值的计算
我试图计算两列之间的差异,但有时其中一列的值为空,而SQL忽略了这一点 现在我用的是: 如果(“来源指标”=“总运营成本”,(“欧元金额”-“欧元目标”)*-1,“欧元金额”-“欧元目标”)为“差异” 是否有其他方法来计算此值(请注意OPEX值)并获得预期结果Sql 具有空值的计算,sql,aggregation,Sql,Aggregation,我试图计算两列之间的差异,但有时其中一列的值为空,而SQL忽略了这一点 现在我用的是: 如果(“来源指标”=“总运营成本”,(“欧元金额”-“欧元目标”)*-1,“欧元金额”-“欧元目标”)为“差异” 是否有其他方法来计算此值(请注意OPEX值)并获得预期结果 谢谢您可以使用case和coalesce(): case的优点是它是ANSI标准SQL,几乎所有数据库都支持它if()依赖于数据库。您可以使用case和coalesce(): case的优点是它是ANSI标准SQL,几乎所有数据库都支持它
谢谢您可以使用
case
和coalesce()
:
case
的优点是它是ANSI标准SQL,几乎所有数据库都支持它if()
依赖于数据库。您可以使用case
和coalesce()
:
case
的优点是它是ANSI标准SQL,几乎所有数据库都支持它if()
依赖于数据库。您使用的是哪个数据库引擎?如果
是非标准的…您使用的是哪个数据库引擎?如果
是非标准的。。。
(case when "source indicator" = 'Total OPEX'
then coalesce("Eur Amount", 0) - coalesce("EUR Target", 0) * -1
else coalesce("Eur Amount", 0) - coalesce("EUR Target", 0)
end)