繁体   English   中英

Oracle BI表达式中的错误

[英]Error in Oracle BI expression

我正在尝试检查该字段是0还是null,如果是,则剩余金额将等于发票金额。

出现此错误,我进行了搜索,但未发现任何错误!

在此处输入图片说明

这是代码:

IF (G_Invoice.Amount_Paid = 0 OR G_Invoice.Amount_Paid is null )

then

Remaining_Amount := G_Invoice.Invoice_Amount

else

G_Invoice.Invoice_Amount-G_Invoice.Amount_Paid

end if;

如果度量是在Oracle BI中计算的,则LSQL代码应为:

Remaining_Amount - ifnull(G_Invoice.Amount_Paid,0)

该错误很容易解释(我在简短的评论中这样做)。

但是可以更简单地获得相同的结果:

Remaining_Amount := G_Invoice.Invoice_Amount-NVL(G_Invoice.Amount_Paid, 0)

无需IF语句(隐藏在NVL中)。 无需将支付金额为零的情况作为特殊情况处理(如果减去0,则等于返回INVOICE_AMOUNT不变)。 NVL将导致将null转换为零。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM