- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Transact―SQL中对空值处理函数COALESCE
Transact―SQL中的对空值的处理函数COALESCE 摘 要 在数据库查询中,经常会遇到对空值的处理,如何处理不当可能会带来意想不到的结果。COALESCE函数能返回其参数中第一个非空表达式,在处理空值时常有非常好的效果
关键词 Transact-SQL COALESCE函数 应用
在数据库查询中,经常会遇到对空值的处理,如何处理不当可能会带来意想不到的结果。COALESCE函数能返回其参数中第一个非空表达式,在处理空值时常有非常好的效果
1语法及说明
COALESCE ( expression [ ,...n ] )
其中,expression 任何类型的表达式。返回数据类型优先级最高的 expression 的数据类型。如果所有参数均为 NULL,则 COALESCE 返回 NULL。但是,至少应有一个空值为 NULL 类型
2应用实例
在以下示例中,wages 表中包括以下三列有关雇员的年薪的信息:hourly wage、salary 和 commission。但是,每个雇员只能接受一种付款方式。若要确定支付给所有雇员的金额总数,请使用 COALESCE 函数,它只接受在 hourly_wage、salary 和 commission 中找到的非空值
SET NOCOUNT ON;
USE master;
IF EXISTS (SELECT name FROM sys.tables
WHERE name = ‘wages’)
DROP TABLE wages;
CREATE TABLE wages
(
emp_id tinyint identity,
hourly_wage decimal NULL,
salary decimal NULL,
commission decimal NULL,
num_sales tinyint NULL
);
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);
SET NOCOUNT OFF;
SELECT CAST(COALESCE(hourly_wage * 40 * 52,
salary,
commission * num_sales) AS money) AS ‘Total Salary’
FROM wages;
COALESCE(expression1,...n) 与此 CASE 函数等效:
CASE
WHEN (expression1 IS NOT NULL) THEN expression1
...
WHEN (expressionN IS NOT NULL) THEN expressionN
ELSE NULL
END
3应用说明
尽管 ISNULL 等效于 COALESCE,但它们的行为是不同的。包含具有非空参数的 ISNULL 的表达式将视为 NOT NULL,而包含具有非空参数的 COALESCE 的表达式将视为 NULL。在 SQL Server 中,若要对包含具有非空参数的 COALESCE 的表达式创建索引,可以使用 PERSISTED 列属性将计算列持久化,如以下语句所示:
CREATE TABLE #CheckSumTest
(
I
您可能关注的文档
最近下载
- 2025中国中医科学院中医药健康产业研究所 (江西中医药健康产业研究院) 招聘事业编制人员18人笔试备考试题及答案解析.docx VIP
- 预算编制的时间安排.pptx
- T∕COSOCC 014-2024 信息技术应用创新 经营管理系统数据管理技术规范.pdf VIP
- 《装备测试性工作通用要求GJB 2547B-2024》知识培训.pptx VIP
- 全电路欧姆定律.ppt VIP
- 王立群读《史记》之汉代风云人物——项羽 鸿门宴.doc VIP
- 小学与初中数学课程衔接的研究教学研究课题报告.docx
- 幕墙工程完整的清单报价.xls VIP
- 专题4平行线中的翻折求角度问题及角度之间的关系(原卷版+解析).docx VIP
- 版义务教育《艺术音乐课程标准》测试题含答案(荐).docx VIP
文档评论(0)