亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

SQL Server COALESCE函數詳解及實例

2024-07-24 13:11:38
字體:
來源:轉載
供稿:網友

SQL Server COALESCE函數詳解

很多人知道ISNULL函數,但是很少人知道Coalesce函數,人們會無意中使用到Coalesce函數,并且發現它比ISNULL更加強大,其實到目前為止,這個函數的確非常有用,本文主要講解其中的一些基本使用:

  首先看看聯機叢書的簡要定義:

 返回其參數中第一個非空表達式語法: 

COALESCE ( expression [ ,...n ] ) 

如果所有參數均為 NULL,則 COALESCE 返回 NULL。至少應有一個 Null 值為 NULL 類型。盡管 ISNULL 等同于 COALESCE,但它們的行為是不同的。包含具有非空參數的 ISNULL 的表達式將視為 NOT NULL,而包含具有非空參數的 COALESCE 的表達式將視為 NULL。在 SQL Server 中,若要對包含具有非空參數的 COALESCE 的表達式創建索引,可以使用 PERSISTED 列屬性將計算列持久化,如以下語句所示:

CREATE TABLE #CheckSumTest     (      ID int identity ,      Num int DEFAULT ( RAND() * 100 ) ,      RowCheckSum AS COALESCE( CHECKSUM( id , num ) , 0 ) PERSISTED PRIMARY KEY    ); 

 下面來看幾個比較有用的例子:
首先,從MSDN上看看這個函數的使用方法,coalesce函數(下面簡稱函數),返回一個參數中非空的值。如:

SELECT COALESCE(NULL, NULL, GETDATE()) 

由于兩個參數都為null,所以返回getdate()函數的值,也就是當前時間。即返回第一個非空的值。由于這個函數是返回第一個非空的值,所以參數里面必須最少有一個非空的值,如果使用下面的查詢,將會報錯:

SELECT COALESCE(NULL, NULL, NULL) 

 

然后來看看把函數應用到Pivot中,下面語句在AdventureWorks 數據庫上運行:

 

SELECT Name  FROM  HumanResources.Department  WHERE  ( GroupName= 'Executive Generaland Administration' ) 

會得到下面的結果:

SQLServer,COALESCE函數詳解,SQL,Server,COALESCE函數

如果想扭轉結果,可以使用下面的語句:

DECLARE @DepartmentName VARCHAR(1000)    SELECT @DepartmentName = COALESCE(@DepartmentName, '') + Name + ';'  FROM  HumanResources.Department  WHERE  ( GroupName= 'Executive Generaland Administration' )    SELECT @DepartmentName AS DepartmentNames 

SQLServer,COALESCE函數詳解,SQL,Server,COALESCE函數使用函數來執行多條SQL命令:

當你知道這個函數可以進行扭轉之后,你也應該知道它可以運行多條SQL命令。并且使用分號來區分獨立的操作。下面語句是在Person架構下,有名字為Name的列的值:

DECLARE @SQL VARCHAR(MAX)     CREATE TABLE #TMP    (Clmn VARCHAR(500),     Val VARCHAR(50))     SELECT @SQL=COALESCE(@SQL,'')+CAST('INSERT INTO #TMP Select ''' + TABLE_SCHEMA + '.' + TABLE_NAME + '.'   + COLUMN_NAME + ''' AS Clmn, Name FROM ' + TABLE_SCHEMA + '.[' + TABLE_NAME +   '];' AS VARCHAR(MAX))   FROM INFORMATION_SCHEMA.COLUMNS   JOIN sysobjects B ON INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = B.NAME   WHERE COLUMN_NAME = 'Name'    AND xtype = 'U'    AND TABLE_SCHEMA = 'Person'     PRINT @SQL   EXEC(@SQL)     SELECT * FROM #TMP   DROP TABLE #TMP 


SQLServer,COALESCE函數詳解,SQL,Server,COALESCE函數

還有一個很重要的功能:。當你嘗試還原一個庫,并發現不能獨占訪問時,這個功能非常有效。我們來打開多個窗口,來模擬一下多個連接。然后執行下面的腳本

DECLARE @SQL VARCHAR(8000)    SELECT @SQL = COALESCE(@SQL, '') + 'Kill ' + CAST(spid AS VARCHAR(10)) + '; '  FROM  sys.sysprocesses  WHERE  DBID = DB_ID('AdventureWorks')    PRINT @SQL --EXEC(@SQL) Replace the print statement with exec to execute 

結果如下:

SQLServer,COALESCE函數詳解,SQL,Server,COALESCE函數

然后你可以把結果復制出來,然后一次性殺掉所有session。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
正在播放亚洲1区| 日韩中文在线不卡| 成人午夜在线视频一区| 国产在线精品播放| 成人黄色大片在线免费观看| 欧美性猛交99久久久久99按摩| 日本精品视频网站| 在线观看日韩av| 福利一区视频在线观看| 成人激情综合网| 亚洲一区二区自拍| 69久久夜色精品国产7777| 欧洲一区二区视频| 一区二区三区在线播放欧美| 欧美日韩色婷婷| 欧美第一黄网免费网站| 欧美xxxx18性欧美| 性欧美长视频免费观看不卡| 日韩亚洲成人av在线| 国产第一区电影| 欧美亚洲日本网站| 日韩免费不卡av| 日韩久久精品电影| 亚洲美女精品成人在线视频| 97欧美精品一区二区三区| 热久久99这里有精品| 欧美性xxxx极品hd欧美风情| 国产99久久精品一区二区永久免费| 国产精品美女午夜av| 亚洲va国产va天堂va久久| 精品国产自在精品国产浪潮| 亚洲国产成人精品久久| 国产成人涩涩涩视频在线观看| 国产精品中文久久久久久久| 国产不卡av在线| 亚洲欧美日韩精品久久奇米色影视| 久久伊人免费视频| 成人日韩在线电影| 色无极亚洲影院| 欧美极品美女视频网站在线观看免费| 欧美区在线播放| 久久99久久99精品免观看粉嫩| 中文字幕久久精品| 欧美区二区三区| 国产美女搞久久| www.久久色.com| 亚洲图片在区色| 美女视频久久黄| 色婷婷综合久久久久| 一区二区三区四区在线观看视频| 欧美成aaa人片免费看| 91精品视频专区| 欧美日韩黄色大片| 国产精品久久97| 精品福利视频导航| 久久久久久久久久久亚洲| 91高清视频免费观看| 日韩免费不卡av| 自拍偷拍亚洲欧美| 亚洲成年人在线| 亚洲欧美日韩网| 国产伦精品免费视频| 亚洲欧美中文在线视频| 性色av一区二区三区红粉影视| 久久成年人免费电影| 91精品久久久久久久久青青| 精品久久久久久久久久久久久久| 久久久久久欧美| 国产在线精品一区免费香蕉| 国产日韩在线免费| 欧美国产日本在线| 国内免费久久久久久久久久久| 97超碰色婷婷| 久久久国产精彩视频美女艺术照福利| 国产成人精彩在线视频九色| 国产成人精品久久| 精品久久久久国产| 91精品视频免费观看| 国产欧美日韩91| 欧美日本高清视频| 亚洲国产毛片完整版| 69久久夜色精品国产69乱青草| 久久精品国产视频| 日韩色av导航| 97免费在线视频| 亚洲精品成人网| 浅井舞香一区二区| 日韩网站免费观看高清| 亚洲精品久久久久久久久久久| 日韩中文在线中文网三级| 日韩中文字幕在线免费观看| 韩国三级日本三级少妇99| 精品福利在线视频| 亚洲欧美日韩精品久久| 国产精品中文字幕在线观看| 日韩精品中文字| 国产精品久久久久久久久久免费| 国产成+人+综合+亚洲欧洲| 国产精品一区专区欧美日韩| 欧美中文字幕视频| 黄网站色欧美视频| 亚洲精品美女在线观看| 中文字幕久热精品在线视频| 最近2019中文免费高清视频观看www99| 精品国产成人在线| 亚洲欧美另类在线观看| 亚洲成人久久一区| 国产成人精品久久久| 日韩视频亚洲视频| 性欧美xxxx| 91高清视频在线免费观看| 色www亚洲国产张柏芝| 最近中文字幕日韩精品| 欧美中文字幕在线| 久久av资源网站| 成人精品久久久| 国产精品日韩欧美综合| 欧美日韩亚洲视频| 国产精品成人一区二区三区吃奶| 欧美日韩精品在线| 国产69久久精品成人| 日产日韩在线亚洲欧美| 欧美激情在线狂野欧美精品| 久久久97精品| 91老司机精品视频| 日韩中文第一页| 欧美大胆在线视频| 欧美色另类天堂2015| 亚洲精品一区二区三区不| 国产女同一区二区| 亚洲精品国产suv| 九九热这里只有精品6| 国产日产欧美a一级在线| 成人黄色短视频在线观看| 在线观看欧美www| 日韩综合中文字幕| 9.1国产丝袜在线观看| 欧美肥老太性生活视频| 欧美精品videosex极品1| 欧美做爰性生交视频| 欧美国产高跟鞋裸体秀xxxhd| 亚洲第一免费播放区| 国产日韩av高清| 欧美黄色www| 欧美日韩一区二区精品| 亚洲风情亚aⅴ在线发布| 亚洲精品福利视频| 精品国内自产拍在线观看| 97超级碰碰人国产在线观看| 欧美精品久久久久久久免费观看| 成人福利网站在线观看11| 亚洲精品欧美日韩专区| 中文.日本.精品| 久久视频在线免费观看| 色噜噜狠狠色综合网图区| 亚洲一区二区久久久久久久| 精品国产电影一区| 欧美国产在线视频| 亚洲欧美精品伊人久久| 欧美国产一区二区三区| 日韩精品中文字幕久久臀| 伊人男人综合视频网| 欧美日韩一区二区三区在线免费观看| 欧美插天视频在线播放|