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


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

被折叠的 条评论
为什么被折叠?



