博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
COALESCE
阅读量:4224 次
发布时间:2019-05-26

本文共 1698 字,大约阅读时间需要 5 分钟。

COALESCE

返回其参数中第一个非空表达式。

语法

COALESCE ( expression [ ,...n ] )

参数

expression

任何类型的表达式。

n

表示可以指定多个表达式的占位符。所有表达式必须是相同类型,或者可以隐性转换为相同的类型。

返回类型

将相同的值作为 expression 返回。

注释

如果所有自变量均为 NULL,则 COALESCE 返回 NULL 值。

COALESCE(expression1,...n) 与此 CASE 函数等价:

CASE   WHEN (expression1 IS NOT NULL) THEN expression1   ...   WHEN (expressionN IS NOT NULL) THEN expressionN   ELSE NULL
示例

在下面的示例中,显示包含三列有关某个雇员每年工资收入信息的 wages 表:hourly_wage、salarycommission。但是,每个雇员只能接受一种付款方式。若要确定支付给所有雇员的工资总额,请使用 COALESCE 函数接受在 hourly_wage、salary commission 中找到的非空值。

SET NOCOUNT ONGOUSE masterIF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES       WHERE TABLE_NAME = 'wages')   DROP TABLE wagesGOCREATE TABLE wages(   emp_id      tinyint    identity,   hourly_wage   decimal   NULL,   salary      decimal    NULL,   commission   decimal   NULL,   num_sales   tinyint   NULL)GOINSERT 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)GOSET NOCOUNT OFFGOSELECT CAST(COALESCE(hourly_wage * 40 * 52,    salary,    commission * num_sales) AS money) AS 'Total Salary' FROM wagesGO

下面是结果集:

Total Salary ------------ 20800.000041600.000062400.000083200.000010000.000020000.000030000.000040000.000045000.000050000.0000120000.000056000.0000(12 row(s) affected)

转载地址:http://olgmi.baihongyu.com/

你可能感兴趣的文章
C++ 继承&多态
查看>>
C++多继承的观察和7点体会(都是实用派的观点) good
查看>>
python socket编程详细介绍
查看>>
高人对libsvm的经典总结(全面至极)
查看>>
Linux下c语言多线程编程
查看>>
火狐下easyui1.3.*弹出window框定位不到中间解决把办法
查看>>
Docker拉取镜像失败报错Error response from daemon: Get https://registry-1.docker.io解决办法
查看>>
IO操作的工具类总结
查看>>
对指定文件或目录进行压缩和解压缩的工具类总结
查看>>
Java中如何遍历Map对象的4种方法
查看>>
图片延时加载例子详解
查看>>
js获取url参数值的两种方式详解
查看>>
java中System.getProperty()方法详解
查看>>
MyEclipse设置默认注释的格式
查看>>
同一服务器部署多个tomcat时的端口号修改详情
查看>>
常用正则表达式集锦
查看>>
Spring定时器的时间表达式
查看>>
fastdfs简介
查看>>
主键和唯一索引的区别
查看>>
linux下使用yum安装gcc详解
查看>>