COALESCE 函数 和CASE语句

COALESCE 函数

返回列表中的第一个非空表达式

COALESCE ( expressionexpression [ , ...] )

expression    任意表达式。


下面的语句返回值 34。

SELECT COALESCE( NULL, 34, 13, 0 )

备注

如果所有参数均为 NULL,则 COALESCE 返回 NULL。 

COALESCE(expression1,...n) 与此 CASE 函数等效:
 CASE
   WHEN (expression1 IS NOT NULL) THEN expression1
   ...
   WHEN (expressionN IS NOT NULL) THEN expressionN
   ELSE NULL
END
尽管 ISNULL 等效于 COALESCE,但它们的行为是不同的。包含具有非空参数的 ISNULL 的表达式将视为 NOT NULL,而 包含具有非空参数的 COALESCE 的表达式将视为 NULL

使用COALESCE的秘密在于大部分包含空值的表达式最终将返回空值(连接操作符“||”是一个值得注意的例外)。例如,空值加任何值都是空值,空值乘任何值也都是空值,依此类推。

这样您就可以构建一系列表达式,每个表达式的结果是空值或非空,这就像一个CASE语句,表达式按照顺序进行测试,第一个满足条件的值就确定了结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值