mysql中使用select sum查询结果为NULL的解决办法---IFNULL应用
本文探讨了MySQL中使用SUM函数时可能遇到的NULL值问题。当查询条件无匹配记录时,SUM会返回NULL,导致Java代码中int类型接收报错。使用IFNULL(SUM(column),0)解决方案,确保无数据时返回0而非NULL。文章采用通俗易懂的技术写作风格,旨在帮助开发者解决实际数据库操作中的常见问题。作者星河是长期主义技术博主,专注于用大白话讲解Java技术知识
关于作者:
我是星河,愿我们既能凝望脚下的路,也能心怀璀璨的远方。一个深耕自己,不内耗的长期主义者。一个对技术充满激情,对工作对生活充满热情的热血青年。坚持用更通俗易懂的大白话写技术博文。坚信,真正能让大家看懂的技术文章才是好文章,坚持用通俗易懂的大白话写技术文章,并会持续更新。
在mysql中,统计数据的时候使用sum(column)计算时
如果根据你的查询条件根本就没查出来数据,那你去sum,就会出现NULL
比如下面的情况:
有一张简单student表

这张表里sex的值只有0和1,然后如下图,你去where的时候使用了 WHERE sex = 2,肯定查不出记录,然后你前边又用了sum,那此时最后的结果就是Null。然后Java代码中你使用int来接收这个结果时就会报错。或者这个结果是Null时,你再拿这个结果与其它数据进行计算的时候也会报错。所以需要处理一下

那怎么处理呢?
解决办法:使用IFNULL,具体如下:
IFNULL(SUM(column),0)
当数据库不存在任何符合求和记录时,sum返回0
如下图

这样的话,就算没查到记录,使用sum,然后再使用int来接收结果或者运算也不会报错了
如果这篇文章对你有所启发或帮助,希望可以花费你一秒钟的时间,点亮【赞和推荐】,如果能点【分享】给更多同行的人,那就更好了。你的每一个互动,都是我持续创作的最大动力。感恩遇见,感谢陪伴。
往日精选
大白话聊明白Thread、Runnable、FutureTask和Callable之间的关系
Spring注册Bean别只用@Component了 @Import才是秘密武器
关于作者:
我是星河,愿我们既能凝望脚下的路,也能心怀璀璨的远方。一个深耕自己,不内耗的长期主义者。一个对技术充满激情,对工作对生活充满热情的热血青年。坚持用更通俗易懂的大白话写技术博文。坚信,真正能让大家看懂的技术文章才是好文章,坚持用通俗易懂的大白话写技术文章,并会持续更新。
点击下方 微信公众号,获取更多Java干货
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)