SQL----coalesce函数详解
作者:互联网
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
coalesce函数
背景:
- 主流数据库系统都支持COALESCE()函数, MYSQL、MSSQLServer、DB2、Oracle:
- 这个函数主要用来进行空值处理,
语法:
COALESCE ( expression,value1,value2……,valuen)
COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定。
COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式。
流程:
- 如果expression不为空值则返回expression;否则判断value1是否是空值,
- 如果value1不为空值则返回value1;否则判断value2是否是空值,
- 如果value2不为空值则返回value2;……以此类推,
- 如果所有的表达式都为空值,则返回NULL。
举例:
应用 1 :进行空值处理
查询学生成绩,如果查不到,则赋值为0
select id,score,coalesce(score, 0) as score_act from test;
应用 2 :进行默认处理
返回人员的“重要日期”
-
如果出生日期不为空则将出生日期做为“重要日期”
-
如果出生日期为空则判断注册日期是否为空,如果注册日期不为空则将注册日期做为“重要日期”,
-
如果注册日期也为空则将“2008年8月8日”做为“重要日期”。
SELECT FName,FBirthDay,FRegDay,
COALESCE(FBirthDay,FRegDay,'2008-08-08') AS ImportDay
FROM T_Person
if( , ,)函数也可以
SELECT FName,FBirthDay,FRegDay,
IF(FName IS NULL,IF(FBirthDay IS NULL,'2008-08-08',FBirthDay ), FName) AS ImportDay
FROM T_Person
标签:FBirthDay,空值,函数,COALESCE,----,coalesce,日期,SQL,expression 来源: https://blog.csdn.net/weixin_48052161/article/details/121523375