MS SQL Server的COALESCE函数是从一系列表达式中返回第一个NOT NULL的值。

检查[B],[Q],[S],[T],[U]的值:

检查顺序[B]->[Q]->[S]->[T]->[U],只要一遇上NOT NULL时,即刻返回。

IF OBJECT_ID('tempdb.dbo.#Part_summary') IS NOT NULL DROP TABLE #Part_summary

CREATE TABLE #Part_summary (
[Item] NVARCHAR(40),
[B]DECIMAL(18,2),
[Q]DECIMAL(18,2),
[S]DECIMAL(18,2),
[T]DECIMAL(18,2),
[U]DECIMAL(18,2)
) INSERT INTO #Part_summary ([Item],[B],[Q],[S],[T],[U])
VALUES ('098-SSSS1-WS0098-5526',NULl,NULl,500.00,NULl,NULl),
('54F-ART43-6545NN-2514',NULl,NULl,934.39,NULl,NULl),
('872-RTDE3-Q459PW-2323',NULl,346.43,NULl,452.44,NULl),
('B78-F1H2Y-5456UD-2530',234.22,NULl,NULl,115.06,NULl),
('I32-GG443-QT0098-0001',NULl,NULl,423.65,NULl,NULl),
('I38-AA321-WS0098-0506',470.87,NULl,NULl,NULl,345.41),
('K38-12321-5456UD-3493',200.28,NULl,NULl,398.55,NULl),
('PO0-7G7G7-JJY098-0077',NULl,871.33,543.00,NULl,NULl),
('RVC-43ASE-H43QWW-9753',NULl,564.96,NULl,NULl,555.19),
('X3C-SDEWE-3ER808-8764',NULl,607.88,NULl,NULl,NULl) SELECT [Item],[B],[Q],[S],[T],[U] FROM #Part_summary SELECT [Item],COALESCE([B],[Q],[S],[T],[U]) AS [result] FROM #Part_summary

Source Code

再列一个例子:

IF OBJECT_ID('tempdb.dbo.#Part_summary') IS NOT NULL DROP TABLE #Part_summary

CREATE TABLE #Part_summary (
[Item] NVARCHAR(40),
[B]DECIMAL(18,2),
[Q]DECIMAL(18,2),
[S]DECIMAL(18,2),
[T]DECIMAL(18,2),
[U]DECIMAL(18,2)
) INSERT INTO #Part_summary ([Item],[B],[Q],[S],[T],[U])
VALUES ('54F-ART43-6545NN-2514',NULl,NULl,NULl,NULl,934.39),
('872-RTDE3-Q459PW-2323',NULl,NULl,NULl,452.44,NULl),
('B78-F1H2Y-5456UD-2530',NULl,NULl,115.06,NULl,NULl),
('I32-GG443-QT0098-0001',NULl,607.88,NULl,NULl,NULl),
('I38-AA321-WS0098-0506',470.87,NULl,NULl,NULl,NULl) SELECT [Item],[B],[Q],[S],[T],[U] FROM #Part_summary SELECT [Item],COALESCE([B],[Q],[S],[T],[U]) AS [result] FROM #Part_summary

Source Code

MS SQL Server的COALESCE函数的更多相关文章

  1. SQL Server中COALESCE函数的用法

    在SQL Server中COALESCE函数,会返回其参数中第一个不为NULL的参数,效果如下: SELECT COALESCE(NULL,NULL,N'A',NULL,NULL) 结果: SELEC ...

  2. MS SQL Server时间常用函数

    SQLServer时间日期函数详解,SQLServer,时间日期, 1.      当前系统日期.时间 select getdate() 2. dateadd      在向指定日期加上一段时间的基础 ...

  3. MS SQL Server字符拆分函数

    Insus.NET以前有用XQuery的nodes()方法写过一个函数,是MS SQL字符拆分的函数,http://www.cnblogs.com/insus/archive/2012/02/26/2 ...

  4. 解决MS SQL Server 使用HashBytes函数乱码问题

    HASHBYTES 语法(参考MSDN): HASHBYTES ( '<algorithm>', { @input | 'input' } ) <algorithm>::= M ...

  5. MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建

    前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...

  6. (转载)MS SQL Server 未公开的加密函数有哪些?

    MS SQL Server 未公开的加密函数有哪些? 以下的文章是对MS SQL Server 未公开的加密函数的具体操作,如果你对其相关的实际操作有兴趣的话,你就可以点击了. MS SQL Serv ...

  7. MS SQL Server的LTRIM,RTRIM和TRIM函数

    在MS SQL Server 2017有了一个新函数TRIM,整合以前版本LTRIM和RTRIM. 这几个函数都是去除字符串头部后尾部的空格. DECLARE @str NVARCHAR(MAX) = ...

  8. sql server中常用方法函数

    SQL SERVER常用函数 1.DATEADD在向指定日期加上一段时间的基础上,返回新的 datetime 值. (1)语法: DATEADD ( datepart , number, date ) ...

  9. MS SQL SERVER 中的系统表

    MS SQL SERVER 中的系统表 序号 名称 说明 备注 1 syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行.   2 syscomments 包含每 ...

随机推荐

  1. The connection between feature spaces and smoothness is not obvious, and is one of the things we’ll discuss in the course.

    http://www.gatsby.ucl.ac.uk/~gretton/coursefiles/lecture4_introToRKHS.pdf

  2. 偏函数应用 pfa

  3. 【题解】 P5021赛道修建

    [题解]P5021 赛道修建 二分加贪心,轻松拿省一(我没有QAQ) 题干有提示: 输出格式: 输出共一行,包含一个整数,表示长度最小的赛道长度的最大值. 注意到没,最小的最大值,还要多明显? 那么我 ...

  4. Linux就该这么学--命令集合10(vim编辑器)

    1.vim编辑器的命令模式中常用的快捷键: dd 删除(剪切)光标所在整行 5dd 删除(剪切)从光标处开始的5行 yy 复制光标所在整行 5yy 复制从光标处开始的5行 p 将之前删除(dd)或复制 ...

  5. [容易]在O(1)时间复杂度删除链表节点

    题目来源:http://www.lintcode.com/zh-cn/problem/delete-node-in-the-middle-of-singly-linked-list/

  6. map select reduce

    map: 针对每个element进行变换并返回整个修改后的map a.map do |item| a.upcase end a.map(&:upcase) 一样的效果, &:代表了it ...

  7. Java互斥语义的实现

    锁 对象头(Object Header) HotSpot 虚拟机的对象头包括两部分信息:Mark Word(标记字段)和 Klass Pointer(类型指针)   Mark Word 用于存储对象自 ...

  8. JAVA源码分析------锁(1)

    http://870604904.iteye.com/blog/2258604 第一次写博客,也就是记录一些自己对于JAVA的一些理解,不足之处,请大家指出,一起探讨. 这篇博文我打算说一下JAVA中 ...

  9. 前端开发工程师必备JS技能-切图

    /******************************************** 学习时间:2015年12月21日 学习者:易天曦 学习目的:掌握切图技巧 学习目标:1.学会从网页设计师的P ...

  10. 基于node.js及express实现中间件,实现post、get

    首先,当然是有必要的环境,安装node,这个我就不多说了. 依赖模块: "express": "^4.13.4", "request": & ...