sql 求和结果总为null的解决办法


1.情景展示

  两数相加,一个字段里有值,一个字段没值,为null,二者相加的结果为null。

2.原因分析

  在SQL的语法中,数值+null=null,而不是数值+null=数值本身。

  以数值字段求和为例,在mysql中,仅在所有行数据都不为null时进行求和运算,否则直接返回null。

3.解决方案

  加非null判断,并给予默认值,让其符合加减乘除运算。

  mysql:使用ifnull(字段,默认值)

  oracle:使用NVL(字段,默认值)

补充一点:

  不同的工具,对于字段值为null是的展示结果是不一样的,比如:在Navica工具中,显示的是(Null);在plsql中,显示的是空白;都是代表该字段无值的意思,只是显示方式不同而已。

 

写在最后

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

 相关推荐:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM