oracle null+字符串问题
select 10 + 10 + 10 from dual
结果是30,完全没问题。
select null + 10 + 10 from dual
结果是空串,但期望的结果是20。
select nvl(null,0) + 10 + 10 from dual
这样处理结果为20。若查询有空值的情况需利用nvl处理,否则运算有误。
select null || 10 || 10 from dual
字符串拼接没有问题。
————————————————
版权声明:本文为CSDN博主「上火了怎么办」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44884300/article/details/89400240
20230831 更新
数据存在空值NULL
如果使用Sum函数的字段含有空值NULL,那么Sum函数在对其求和时就会无法正常工作。一旦有数据存在空值,我们就需要使用NVL函数对其进行处理,将其转化为0来消除问题。
A机构 55 6
B机构 87 7
A机构 3 6
B机构 空 7
未nvl sum求和:
A机构 58 6
B机构 7
使用nvl求和
NVL(SUM(S.MEETING_NUM) , 0)
A机构 58 6
B机构 87 7
注:使用NVL函数
在数据表中,如果某一字段存在NULL值,那么直接使用Sum函数进行求和操作时可能会得到不符合实际的结果。此时,我们可以使用NVL函数来将NULL值转换为0,再进行Sum函数操作,从而得到正确的求和结果。
例如:
SELECT SUM(NVL(sal, 0)) FROM emp;
Donate捐赠
如果我的文章帮助了你,可以赞赏我 红包,让我继续写出更好的内容)
(微信) (支付宝)
微信/支付宝 扫一扫