函数-COALESCE()函数处理空值

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
查询结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值