SQL 常见函数整理 _ COALESCE()

1. 用法
COALESCE() 函数用于返回参数列表中的第一个非 NULL 值。如果所有参数都为 NULL,则返回 NULL。

2. 语法

COALESCE(expression1, expression2, expression3, ...)

其中,expression1, expression2, expression3, … 是要进行比较的表达式。

3. 应用示例

SELECT COALESCE(NULL, 'Value 1', NULL, 'Value 2') AS Result;
--返回结果:Value 1

COALESCE() 函数与 CASE 表达式类似,但是在参数的数量和逻辑上更为简洁。它适用于处理和替换可能为 NULL 的数据,使查询结果更清晰和易读。

注意:在处理大量数据时,COALESCE() 函数可能会稍微降低查询性能。因此,如果只需要判断单个列或变量是否为 NULL,可以使用 ISNULL() 函数进行替代。而如果需要比较多个列或变量,则 COALESCE() 是一个更方便的选择。

4. COALESCE()和ISNULL()的区别:
ISNULL 函数和 COALESCE 表达式具有相似的用途,但是行为可能不同。
(1) 因为 ISNULL 是函数,它只能被计算一次。 如上所述,可以多次计算 COALESCE 表达式的输入值。
(2) 确定结果表达式的数据类型方式不同。ISNULL 使用第一个参数的数据类型,COALESCE 则遵循 CASE 表达式规则并返回具有最高优先级的值的数据类型。
(3) 结果表达式是否可为 NULL 对于 ISNULL 和 COALESCE 是不同的。ISNULL 返回值始终被视为不可为 NULL(假定返回值不可为 null)。相反,具有非 null 参数的 COALESCE 被视为可以为 NULL。因此,尽管表达式 ISNULL(NULL, 1) 和 COALESCE(NULL, 1) 是等效的,但其在结果是否为 null 值方面是不同的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值