如何使用 Null 进行求和
我正在执行 tot := tot + v_row.SAVINGS;
,其中 tot
初始化为 0,v_row.SAVINGS 初始化为 null
。
现在,我使用 nvl function
来获取 0
值,而不是 v_row.Savings
的 null
,因为我需要 如果为 Null,则求和为 0
,但是当我返回 v_row
时,如果求和值显示为 0,那么我需要有 null
或 空格< /code> 返回值,我该怎么做。
注意:我将其用于报告目的,因此如果总和值为零,那么我应该在报告中显示空或空白。
I am doing tot := tot + v_row.SAVINGS;
where tot
is initialized to 0 and v_row.SAVINGS is initialized to null
.
Now I using nvl function
to get value 0
instead of null
for v_row.Savings
as I need 0
in summation if there is Null but when I return v_row
, if summation value shows as 0 then I need to have null
or blank space
value in return, how can I do it.
Note: I am using this for reporting purpose and so if value of summation is zero then I should show null or blank space in report.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
NULLIF(expr1, expr2) 在逻辑上是等价的到
NVL(expr1, expr2)
tot 可能为 NULL,v_row.SAVINGS 可能为 NULL。
在返回之前将 tot 强制为 NULL 可能更合适。
例子:
NULLIF(expr1, expr2) is logically equivalent to
NVL(expr1, expr2)
tot may be NULL and v_row.SAVINGS may be NULL.
It may be more appropriate to coerce the tot to NULL just before you return.
Example:
这应该有效:
This should work: