nullif 为零或负值时

nullif when zero or negative value

我经常在值为零时使用nullif,想知道是否可以在它等于负数时也显示null?我当前的公式是 NULLIF({quantity}-{quantityshiprecv} ,0) 但是当 {quantityshiprecv} 大于 {quantity} 时它显示负数,我希望显示 null。

如果{quantity}-{quantityshiprecv}是否定的,你只需要将第一个参数修改为return0,但如果是肯定的,仍然给出正确答案。这是一种方法:

NULLIF(({quantity}-{quantityshiprecv} + ABS({quantity}-{quantityshiprecv}))/2,0) 

这会将差异的绝对值添加到未更改的差异中。如果差异是正的,那会给你双倍的你想要的。如果它是负数,则绝对值 (ABS()) 将否定该负值,使您的值为零。然后你可以除以 2;现在正数是正确的,负数仍然为零。 NULLIF() 的其余部分保持不变。