• 欢迎访问金笔头博客,这是一个菜鸟(伪)程序员的自留地,欢迎访问我的github:点击进入

超级实用的函数-COALESCE

SQLServer eason 2591次浏览 2个评论 扫描二维码

语法:

COALESCE ( expression [ ,…n ] )

返回类型

返回数据类型优先级最高的 expression 的数据类型。 如果所有表达式都不可为 Null,则结果的类型也不可为 Null。

注释

如果所有参数均为 NULL,则 COALESCE 返回 NULL。 至少应有一个 Null 值为 NULL 类型。

比较 COALESCE 和 CASE

COALESCE 表达式是 CASE 表达式的语法快捷方式。 即查询优化器将代码 COALESCE(expression1,…n) 重写为以下 CASE 表达式:

CASE

   WHEN (expression1 IS NOT NULL) THEN expression1

   WHEN (expression2 IS NOT NULL) THEN expression2

   …

   ELSE expressionN

END

实例说明:

–创建测试表
CREATE table TEST20160122
(
    ID int NOT NULL,
    FieldA varchar(10) NULL,
    FieldB varchar(10) NULL,
    FieldC varchar(10) NULL,
    FieldD varchar(10) NULL,
    FieldE varchar(10) NULL
);
–插入测试数据
INSERT INTO TEST20160122 VALUES(1,’11111′,NULL,NULL,NULL,NULL);
INSERT INTO TEST20160122 VALUES(2,NULL,’22222′,NULL,NULL,NULL);
INSERT INTO TEST20160122 VALUES(3,NULL,NULL,’33333′,NULL,NULL);
INSERT INTO TEST20160122 VALUES(4,NULL,NULL,NULL,’44444′,NULL);
INSERT INTO TEST20160122 VALUES(5,NULL,NULL,NULL,NULL,’55555′);
超级实用的函数-COALESCE
–使用COALESCE函数从多个字段取数据
SELECT COALESCE(FieldA,FieldB,FieldC,FieldD,FieldE )  AS Result FROM TEST20160122
超级实用的函数-COALESCE

 


金笔头博客, 版权所有丨如未注明 , 均为原创, 转载请注明超级实用的函数-COALESCE
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. PGclm3 Pretty! This has been an incredibly wonderful post. Thanks for supplying these details.
    crorkservice fiverr2016-02-04 11:12 Reply Windows XP | Internet Explorer 6.0
  2. There is clearly a bunch to know about this. I assume you made certain nice points in features also.
    eebest82016-02-04 06:27 Reply Windows XP | Firefox 3.5.3