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)是等价的。 

 

 

posted on 2023-05-15 15:46  云起的自学笔记  阅读(1023)  评论(0编辑  收藏  举报

导航