MS SQL Server的COALESCE函数
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函数的更多相关文章
- SQL Server中COALESCE函数的用法
在SQL Server中COALESCE函数,会返回其参数中第一个不为NULL的参数,效果如下: SELECT COALESCE(NULL,NULL,N'A',NULL,NULL) 结果: SELEC ...
- MS SQL Server时间常用函数
SQLServer时间日期函数详解,SQLServer,时间日期, 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础 ...
- MS SQL Server字符拆分函数
Insus.NET以前有用XQuery的nodes()方法写过一个函数,是MS SQL字符拆分的函数,http://www.cnblogs.com/insus/archive/2012/02/26/2 ...
- 解决MS SQL Server 使用HashBytes函数乱码问题
HASHBYTES 语法(参考MSDN): HASHBYTES ( '<algorithm>', { @input | 'input' } ) <algorithm>::= M ...
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...
- (转载)MS SQL Server 未公开的加密函数有哪些?
MS SQL Server 未公开的加密函数有哪些? 以下的文章是对MS SQL Server 未公开的加密函数的具体操作,如果你对其相关的实际操作有兴趣的话,你就可以点击了. MS SQL Serv ...
- MS SQL Server的LTRIM,RTRIM和TRIM函数
在MS SQL Server 2017有了一个新函数TRIM,整合以前版本LTRIM和RTRIM. 这几个函数都是去除字符串头部后尾部的空格. DECLARE @str NVARCHAR(MAX) = ...
- sql server中常用方法函数
SQL SERVER常用函数 1.DATEADD在向指定日期加上一段时间的基础上,返回新的 datetime 值. (1)语法: DATEADD ( datepart , number, date ) ...
- MS SQL SERVER 中的系统表
MS SQL SERVER 中的系统表 序号 名称 说明 备注 1 syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行. 2 syscomments 包含每 ...
随机推荐
- Hive 实际上对于所存储的文件的完整性以及数据内容是否和表结构一致无支配力
数据位于hdfs路径下 load data into Table t1 load 执行的是复制文件的操作 create Table partitioned by () 创建了分区目录
- 2017-2018-1 20179209《Linux内核原理与分析》第五周作业
一.实验:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 环境说明 实验环境为 Ubuntu16.10 和 实验楼环境. 选择39号系统调用实验.39号系统调用为mkdir系统调用. ...
- 洛谷 2868 [USACO07DEC]观光奶牛Sightseeing Cows
题目戳这里 一句话题意 L个点,P条有向边,求图中最大比率环(权值(Fun)与长度(Tim)的比率最大的环). Solution 巨说这是0/1分数规划. 话说 0/1分数规划 是真的难,但貌似有一些 ...
- reduce python 的用法
1.查看reduce 的用法 在python 命令查看 import functools help(functools) help(functools.reduce) 或者 from functool ...
- PopupWindow 实现 查看所有手机应用弹出框
public class MainActivity extends Activity implements OnItemLongClickListener, OnClickListener { pri ...
- poj1753 Flip Game —— 二进制压缩 + dfs / bfs or 递推
题目链接:http://poj.org/problem?id=1753 Flip Game Time Limit: 1000MS Memory Limit: 65536K Total Submis ...
- 【LeetCode】种花问题
假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有.可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去. 给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花 ...
- DubboAdmin平台
DubboAdmin部署 将dubbo-admin.war放入到TomcatWebapps目录下,修改dubbo.properties中的Zookeeper连接地址即可. dubbo-admin放到 ...
- bjwc Day1 暴力大战
今天终于有题了... 题目是COCI2016/2017 Round #4 T1一看就是NP问题,k<=50,开始想暴力,想了个n^4的,大概能过,就没去管它 T2想得太naive,丢了100分给 ...
- JXL 的API
使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵Excel文件并不是一件容易的事.在Web应用日益盛行的今天,通过Web来操作Excel文件的需求越来 ...