[MySQL]coalesce函数使用(ifnull和nullif)

本文介绍了SQL函数coalesce用于处理NULL值的情况,以及nullif函数在避免除0错误中的用法。通过实例展示了如何在查询中使用这两个函数,如查询年龄和最大孩子的名字,同时提及了在MySQL8.0.26版本中关于0作为除数的处理。
摘要由CSDN通过智能技术生成

1、coalesce函数的使用

函数:coalesce(value1,value2,...)

返回值:value1,value2,...中第一个不为NULL的值

使用场景:

        1、基本使用:返回非NULL的值

        2、处理NULL值。类似与ifnull(expr,val)函数

        3、按顺序找到重要信息

2、例子

假设,某政府系统登记了市民的信息如下:

在该表的字段中,市民的age、first_child、second_child、third_child分别代表了市民年龄,第一/二/三个孩子的姓名。这4个字段均有可能为空

表中数据如下

1、现在想要查询市民的年龄,若市民未填写,则设置为:未知(等同于 ifnull函数的使用)

select coalesce(age,'未知') '年龄信息' from t_example_coalesce;

select ifnull(age,'未知') '年龄信息' from t_example_coalesce;

2、按顺序找到重要信息

Q: 现在需要根据此表找到市民年龄最大的孩子姓名

select coalesce(first_child,second_child,third_child,'未知') '最大孩子的名字' from t_example_coalesce;

3、nullif(expr1,expr2)函数

解释:当expr1=expr2的时候,则返回null,否则返回expr1

用途:

ex:避免除0错误(或者将特殊值替换为null)

实际测试中版本8.0.26中0作为除数也是可以的。

注意:只有当两者相等的时候才会返回null,即使其中某个为null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值