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. 7 Types of Regression Techniques

    https://www.analyticsvidhya.com/blog/2015/08/comprehensive-guide-regression/ What is Regression Anal ...

  2. Bloom Filters

    http://pages.cs.wisc.edu/~cao/papers/summary-cache/node8.html A Bloom filter is a method for represe ...

  3. 【linux】如何查看进程运行在那颗cpu上

    这里介绍一种方法查看进程运行在哪个cpu上, 首先top 然后按字母:f 按字母:j 回车即可 其中P列表示进程运行在哪个CPU上

  4. ceph分布式存储系统初探

    前言 由于公司的业务调整,现在我又要接触ceph这个东西,由于我接手的是一个网盘类项目,所以分布式存储系统ceph就是我必须要学的了.现在压力还是比较大的,从业务直接到后台核心. 大概在这几天,我将c ...

  5. 多线程(三) iOS中的锁

    锁的类别:互斥锁,递归锁,条件锁,自旋锁等 锁的实现方式:NSLock,NSRecursiveLock, NSConditionLock,@synchronized,GCD的信号量等 下面说一下常用的 ...

  6. MVC常见错误记录

    1 找到了多个与名为“Home”的控制器匹配的类型.如果为此请求(“{controller}/{action}/{id}”)提供服务的路由没有指定命名空间来搜索匹配此请求的 根项目下的RouteCon ...

  7. Codeforces Round #551 (Div. 2) A~E题解

    突然发现上一场没有写,那就补补吧 本来这场应该5题的,结果一念之差E fail了 A. Serval and Bus 基本数学不解释,假如你没有+1 -1真的不好意思见人了 #include<c ...

  8. 【html学习整理】常用标签

    什么是html 超文本标记语言 html语法规则       所有的命令放到<> 大部分成对存在,以<tag>开始,</tag>结束 网页的基本框架,常用的标记 & ...

  9. ansible mysql模块的使用今年

    摘自: https://www.ibm.com/developerworks/cn/linux/1502_lih_ansible/

  10. 虚拟参考站(VRS)

    来源:https://www.sohu.com/a/149415053_391994 一.高精度定位 VRS是虚拟参考站(Virtual Reference Station)的简称.这项技术是CORS ...