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. mysql 查看或者修改数据库密码

    首先启动命令行 1.在命令行运行:taskkill /f /im mysqld-nt.exe 下面的操作是操作mysql中bin目录下的一些程序,如果没有配置环境变量的话,需要切换到mysql的bin ...

  2. ul和li 基本用法分析(这里主要想学习怎么用在导航栏中)

    常用作:导航,少量数据表格,居中 一.做导航,居中 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  3. 【Leetcode-easy】Roman to Integer

    罗马数字转化为整数 * 1.基本数字 Ⅰ.X .C 中的任何一个.自身连用构成数目.或者放在大数的右边连用构成数目.都不能超过三个:放在大数的左边只能用一个: * 2.不能把基本数字 V .L .D ...

  4. JavaScript预解释是一种毫无节操的机制

    前言 JavaScript是一门解释型的语言 , 想要运行JavaScript代码需要两个阶段 编译阶段: 编译阶段就是我们常说的JavaScript预解释(预处理)阶段,在这个阶段JavaScrip ...

  5. vuex原理笔记

    本文总结自: https://tech.meituan.com/vuex-code-analysis.html, 将要点提炼为笔记,以便不时之需,安不忘危. 核心可分为两部分: 1.vue.use(V ...

  6. visual studio for mac 安装文件

    安装步骤参考: http://jingyan.baidu.com/article/00a07f3869b81082d028dca8.html 所需安装文件:[注 我只下载了javajdk, 需要and ...

  7. matlab字符串链接的三种方式

    1.fprintf()函数: a='I love you,'; b='China'; c=123; fprintf('%s%s\n',a,b); fprintf('%s%s*****%d\n',a,b ...

  8. &&、||和&、|的区别

    1. && .|| 和 &.| 都是逻辑运算符,前两个 与后两个的区别就在于 &&.|| 有"短路"现象,而& .| 则没有. 例如 ...

  9. mybatis进行分页,使用limit

    这里记录两个思路: 首先是写一个不能执行的代码. <select id="query" parameterType="map" resultType=&q ...

  10. codewar代码练习1——8级晋升7级

    最近发现一个不错的代码练习网站codewar(http://www.codewars.com).注册了一个账号,花了几天的茶余饭后时间做题,把等级从8级升到了7级.本文的目的主要介绍使用感受及相应题目 ...