我有一个等式
((P.RealisedConsumption / (NULLIF((PO.ActualQty * P.QuantityPO), 0)
/ NULLIF(1000000, 0))) - 1) * 100 AS FibreScrapFactor
这适用于我正在查看的示例订单。但是,如果我取出 where 子句(所以我有所有订单),我会得到除以零的错误。
如果我将 / 1000000 限制为 10,那么我就有
((P.RealisedConsumption / (NULLIF((PO.ActualQty * P.QuantityPO), 0)
/ NULLIF(10, 0))) - 1) * 100 AS FibreScrapFactor
这适用于所有订单,但不正确我需要除以一百万。我怎样才能让它工作?列是numeric(32, 16)
。
由于您的数据类型已经是十进制类型,因此您可能需要使用
WHERE
子句删除 NULL 值,而不是将它们合并为0
,这将导致“除以零”错误。就像是:
嗨,我最终这样做了……这解决了我的问题……