sql server 中 COALESCE()函数的使用
一、sql server 中coalesce函数的介绍
COALESCE ( expression,value1,value2……,valuen) ;
COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定。
COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式。
如果expression不为空值则返回expression;否则判断value1是否是空值,
如果value1不为空值则返回value1;否则判断value2是否是空值,如果value2不为空值则返回value3;……以此类推。
二、sql server 中coalesce函数的用法
COALESCE( CONVERT(CHAR(10),min(dGzrq),121),CONVERT(CHAR(10),YSKSRQ,121),null) 印刷开始时间,
该条语句表明:当 dGzrq为空时,返回YSKSRQ,当dGzrq不为空时,则返回dGzrq.
三、扩展资料
COALESCE()函数可以用来完成几乎所有的空值处理,不过在很多数据库系统中都提供了它的简化版,这些简化版中只接受两个变量,
比如SQL语句用于返回人员的“重要日期”,如果出生日期不为空则将出生日期作为“重要日期”,如果出生日期为空则返回注册日期的值:
MYSQL:
IFNULL(expression,value)
SELECT FBirthDay,FRegDay,IFNULL(FBirthDay,FRegDay) AS ImportDay FROM T_Person
MSSQLServer:
ISNULL(expression,value)
SELECT FBirthDay,FRegDay,ISNULL(FBirthDay,FRegDay) AS ImportDay FROM T_Person
Oracle:
NVL(expression,value)
SELECT FBirthDay,FRegDay,NVL(FBirthDay,FRegDay) AS ImportDay FROM T_Person
这几个函数的功能和COALESCE(expression,value)是等价的。