MySQL将null转0 ifnull() coalesce()实践

 更新时间:2026年06月17日 14:33:35   作者:globalcoding  
这段文章详细介绍了SQL中IFNULL()和COALESCE()函数的使用方法,用于处理查询结果中的null值,避免代码中频繁的判空操作,IFNULL()函数仅支持一个替代值,而COALESCE()则支持多个替代值,灵活应对null值的不同场景

做统计报表的时候,有时候不希望查出来的值是null,因为在代码中需要做大量的判空,最后转换成0来处理。

既然如此,那在sql中查出来就是0,就不用为空而去判空了。

1.IFNULL()

ifnull()只能放2个值。

select IFNULL(null,0);

使用举例:

如果工资为null,就设为0 

select IFNULL(salary,0) from emp

求和,如果最后值为null,设为0 

select IFNULL(sum(salary),0) from emp

2.COALESCE()

coalesce()可以放入多个值。

select coalesce(null,null,0); --结果为 0
select coalesce(null,null,null,0); --结果为 0
select coalesce(null,null,null,1,2); --结果为 1

如果第1个值为null,就看第2个值,如果第2个值不为null,就使用第2个。以此类推。

使用举例:

查出工资比 JOHN 低的员工。如果有人的工资为null,就默认为0。

select ename,salary from emp where coalesce(salary,0) < (select salary from emp whrer ename ="JOHN");

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mysql如何读写分离监控

    mysql如何读写分离监控

    本文介绍了如何通过Zookeeper对Mycat节点进行管理和监控的详细步骤,首先通过tar命令安装Zookeeper,并配置相关文件,接着介绍了如何安装和配置Mycat-web,包括修改配置文件中的IP地址和解决内存不足问题
    2024-11-11
  • Mysql双主配置的详细步骤

    Mysql双主配置的详细步骤

    双主可以在一定程度上保证主库的高可用,在一台主库down掉之后,可以在极短的时间内切换到另一台主库上,减少了主从同步给线上主库带来的压力,这篇文章主要给大家介绍了关于Mysql双主配置的详细步骤,需要的朋友可以参考下
    2022-06-06
  • MySQL 自动备份与数据库被破坏后的恢复方法

    MySQL 自动备份与数据库被破坏后的恢复方法

    当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小。
    2010-03-03
  • MySQL 转义字符使用说明

    MySQL 转义字符使用说明

    MySQL 转义字符,大家可以看下,方便以后使用。
    2009-10-10
  • 使用bin-log日志还原数据库的例子

    使用bin-log日志还原数据库的例子

    使用bin-log日志还原数据库的例子,供大家学习参考
    2013-02-02
  • Linux系统每日定时备份mysql数据的方法步骤

    Linux系统每日定时备份mysql数据的方法步骤

    这篇文章主要介绍了Linux系统每日定时备份mysql数据的方法步骤,包括创建文件夹、编写脚本、设置定时任务和测试脚本,详细步骤涵盖从文件夹创建到脚本执行的全过程,帮助用户实现数据库的自动备份,需要的朋友可以参考下
    2024-11-11
  • CentOS7安装MySQL 8.0.26的过程

    CentOS7安装MySQL 8.0.26的过程

    这篇文章主要介绍了CentOS 7安装MySQL 8.0.26的过程,通过输入一些命令完成对mysql的初始化及相关配置,具体操作方法跟随小编一起看看吧
    2021-09-09
  • mysql中如何使用正则表达式查询

    mysql中如何使用正则表达式查询

    这篇文章主要介绍了mysql中如何使用正则表达式查询,需要的朋友可以参考下
    2014-06-06
  • mysql 5.7.11 winx64.zip安装配置方法图文教程

    mysql 5.7.11 winx64.zip安装配置方法图文教程

    这篇文章主要为大家分享了mysql5.7.11安装配置方法图文教程,具有一定的参考价值,感兴趣的朋友可以参考一下
    2017-02-02
  • MySQL如何删除表中的数据

    MySQL如何删除表中的数据

    这篇文章主要介绍了MySQL如何删除表中的数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论