1.情景展示

在Oracle当中,分组求和是很常见的一种查询方式,问题在于:

当数据为空时,如何解决将结果显示为0而不是null?

2.具体分析

0与null进行加减乘除四则运算的结果为null,不是''。

oracle 关于0和null的计算_html

虽然在plsql当中,null和''显示的结果都为空白,但这并不代表null就是''。

oracle 关于0和null的计算_ORACLE_02

sum(0+null)与sum(null)+0的结果也为null

oracle 关于0和null的计算_html_03

3.解决方案

方式一:使用nvl()进行非空判断

oracle 关于0和null的计算_ORACLE_04

方式二:使用union all

oracle 关于0和null的计算_四则运算_05

同样是sum(),换成union all 计算结果就会变成0,而不是null。

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!


作者:Marydon