1.Coalesce()函数介绍
这个函数主要用来进行空值处理,其参数格式如下: COALESCE ( expression,value1,value2……,valuen)
COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定。
COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式。
如果expression不为空值则返回expression;
否则判断value1是否是空值,如果value1不为空值则返回value1;
否则判断value2是否是空值,如果value2不为空值则返回value2;
……以此类推,
如果所有的表达式都为空值,则返回NULL。
2.示例测试
1.需求
我们将使用COALESCE()函数完成下面的功能,返回人员的“重要日期”:
如果出生日期不为空则将出生日期做为“重要日期”,
如果出生日期为空则判断注册日期是否为空,
如果注册日期不为空则将注册日期做为“重要日期”,
如果注册日期也为空则将“2008年8月8日”做为“重要日期”
2.表的创建和测试数据插入
表tp_date结构 :(fname姓名,birthday出生日期,fregday注册日期)
create table tp_date(
fname varchar(20),
fbirthday date,
fregday date
)
插入测试数据数据
3.查询
//MYSQL、MSSQLServer、DB2写法:
select fname,fbirthday,fregday,
coalesce(fbirthday,fregday,'2018-08-08') as importday
from tp_date
//Oracle写法:
select fname,fbirthday,fregday,
coalesce(fbirthday,fregday,to_date('2018-08-08','YYYY-MM-DD HH24:MI:SS')) as importday
from tp_date