`
lovecontry
  • 浏览: 1035596 次
文章分类
社区版块
存档分类
最新评论

coalesce的用法

 
阅读更多

语法

COALESCE ( e­xpression [ ,...n ] )

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

注意:
至少应有一个空值为 NULL 类型。

COALESCE(e­xpression1,…n) 与此 CASE 函数等效:

复制代码
CASE
WHEN (e­xpression1 IS NOT NULL) THEN e­xpression1
WHEN (e­xpressionN IS NOT NULL) THEN e­xpressionN
ELSE NULL
END

参数
e­xpression
任何类型的表达式。

返回类型
返回数据类型优先级最高的 e­xpression 的数据类型。

示例
在 以下示例中,wages 表中包括以下三列有关雇员的年薪的信息:hourly wage、salary 和 commission。但是,每个雇员只能接受一种付款方式。若要确定支付给所有雇员的金额总数,请使用 COALESCE 函数,它只接受在 hourly_wage、salary 和 commission 中找到的非空值。

复制代码
SET NOCOUNT ON;
GO
USE master;
IF EXISTS (Select name FROM sys.tables
Where name = ‘wages’)
Drop TABLE wages;
GO
Create TABLE wages
(
emp_idtinyintidentity,
hourly_wage decimal NULL,
salarydecimalNULL,
commission decimal NULL,
num_sales tinyint NULL
);
GO
Insert wages VALUES(10.00, NULL, NULL, NULL);
Insert wages VALUES(20.00, NULL, NULL, NULL);
Insert wages VALUES(30.00, NULL, NULL, NULL);
Insert wages VALUES(40.00, NULL, NULL, NULL);
Insert wages VALUES(NULL, 10000.00, NULL, NULL);
Insert wages VALUES(NULL, 20000.00, NULL, NULL);
Insert wages VALUES(NULL, 30000.00, NULL, NULL);
Insert wages VALUES(NULL, 40000.00, NULL, NULL);
Insert wages VALUES(NULL, NULL, 15000, 3);
Insert wages VALUES(NULL, NULL, 25000, 2);
Insert wages VALUES(NULL, NULL, 20000, 6);
Insert wages VALUES(NULL, NULL, 14000, 4);
GO
SET NOCOUNT OFF;
GO
Select CAST(COALESCE(hourly_wage * 40 * 52,
salary,
commission * num_sales) AS money) AS ‘Total Salary’
FROM wages;
GO

下面是结果集:

复制代码
Total Salary
————
20800.0000
41600.0000
62400.0000
83200.0000
10000.0000
20000.0000
30000.0000
40000.0000
45000.0000
50000.0000
120000.0000
56000.0000

(12 row(s) affected)

分享到:
评论

相关推荐

    mysql coalesce用法

    在mysql中,其实有不少方法和函数是很有用的,这次介绍一个叫coalesce的,拼写十分麻烦,但其实作用是将返回传入的参数中第一个非null的值

    如何使用Oracle的COALESCE函数

    使用oracle数据库的coalesce函数

    coalesce:PHP的Null Coalesce函数(等待`??`运算符...)

    如果索引未定义,则返回null安装 composer require coalesce/coalesce用法 $ arr = [ 'foo' => 4 , 'bar' => '' ];// coalescecoalesce ( $ arr ); // returns $arrcoalesce ( false , $ arr [ 'foo' ]); // returns...

    MySql COALESCE函数使用方法代码案例

    主要介绍了MySql COALESCE函数使用方法代码案例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    [Oracle] COALESCE的用法

    NULL 博文链接:https://seabird1979.iteye.com/blog/2172579

    ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数

    ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数的几种用法,

    SQL Server COALESCE函数详解及实例

    主要介绍了SQL Server COALESCE函数详解及实例的相关资料,COALESCE函数比ISNULL更加强大,这个函数的确非常有用,需要的朋友可以参考下

    mysql中coalesce()的使用技巧小结

    在mysql中,其实有不少方法和函数是很有用的,这次介绍一个叫coalesce的,拼写十分麻烦,但其实作用是将返回传入的参数中第一个非null的值,下面这篇文章主要给大家介绍了在mysql中coalesce()使用技巧的相关资料,...

    通信与网络中的SQL Server COALESCE()函数的创新应用

    这一技巧描述了创造性使用SQL Server 中COALESCE()函数的两种方法。  这里有一个简单的例子:有一个Persons数据表,它有三个字段FirstName、MiddleName和LastName。表中包含以下值:  John A. MacDonald  ...

    cidr-coalesce:获取涵盖所有输入地址或范围的最小CIDR集

    用法 命令行界面 $ cidr-coalesce 192.168.1.0-192.168.1.40 192.168.1.0/27 192.168.1.32/29 192.168.1.40/32 原料药 import coalesce from 'cidr-coalesce' ; const result = coalesce ( [ '192.168.1.0-192.168....

    coalesce-rs:合并具有共同特征的不相交类型

    合并 coalesce允许不连续类型的轻松统一,通常对于将多个具体实例组合到一个公共特征对象中很有用。 您可以在每个项目上运行任意代码块,有关示例用法,请参阅。

    SQL 基础--SELECT 查询

    表示某个列为空用:IS NULL 不能使用COMM=NULL这种形式 某个列不为空:IS NOT NULL 不能使用COMM != NULL 这种形式 空值在作升序排列时,空值会放到最后。 相反作降序排列时,空值会放在最前。 空值作逻辑...

    my-clippings:浏览我的 Kindle 亮点或我用来维护它们的脚本

    我的剪报coalesce.sh 该脚本会将您的My Clippings.txt... 如果在任何一个位置都没有找到剪报文件, coalesce.sh继续重新排序和重新清理my-clippings.txt 用法如下所示: $ ./coalesce.shcsv-to-clippings.sh 如果你有 K

    ORACLE重建索引总结

    使用带有coalesce参数时重建期间不需要额外空间,它只是在重建索引时将处于同一个索引分支内的叶块拼合起来,这最大限度的减少了与查询过程中相关的潜在的加锁问题,但是,coalesce选项不能用来将一个索引转移到其他...

    asetroot:轻量级的动画墙纸程序

    框架的文件名可以使用printf格式递增,标准为%05d.gif 该程序不进行任何大小调整或转换,如果您希望这样做的话,请查看ImageMagick 例子 #调整gif大小并将其拆分为文件夹转换example.gif -coalesce -resize 1920x...

    gif-music-visualizer:使用 gif 可视化实时音频

    准备gif你可以使用面团、西瓜或像这样添加一个新的 gif: 使用 ImageMagick: convert -coalesce image.gif image.jpg 在frames子目录中创建一个目录,并将图像框架复制到其中。 如果你发现了一个很酷的 gif,请给我...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    mssql 微软 只能能运行在windows平台,体积比较庞大,占用许多系统资源, 但使用很方便,支持命令和图形化管理,收费。 中型企业 Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快,...

    Firebird数据库中文版

    包括但不限于"FULL/LEFT/RIGHT [OUTER] JOIN , UNION, DISTINCT , 子查询 (IN, EXISTS),内部函数 (AVG, SUM, MIN, MAX, COALESCE, CASE, ..), 主键,外键,唯一索引以及所有通用的数据类型。 Firebird还实现了域,...

    mysql数据库的基本操作语法

    如果需要改变列名建议使用change,如果需要改变数据类型和显示位置可以使用modify 13、 删除表 drop table users; drop删除表会删除表结构,表对象将不存在数据中;数据也不会存在;表内的对象也不存在,如:索引、...

Global site tag (gtag.js) - Google Analytics