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