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

 

转载于:https://www.cnblogs.com/insus/p/10900499.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值