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

首頁 > 數據庫 > SQL Server > 正文

SQL SERVER FOR 多列字符串連接 XML PATH 及 STUFF

2024-08-31 00:54:26
字體:
來源:轉載
供稿:網友
SQL SERVER FOR 多列字符串連接 xml PATH 及 STUFF

本來用 Writer 寫一篇關于一列多行合并的博客來的,結果快寫完了時候,在一個插入代碼時候,崩了,重新打開,居然連草稿都沒有……哎,我也是無語了……

于是沒有心情再寫,直接發一下代碼,再順便留幾個其他博文的鏈接

1、FOR XML PATH http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html

2、STUFF http://www.cnblogs.com/345563452/archive/2009/10/29/1592048.html

3、Group By http://www.cnblogs.com/rainman/archive/2013/05/01/3053703.html

4、附錄:SQL字符串函數

CREATE TABLE HobbyInfo(    id INT IDENTITY PRIMARY KEY,    name VARCHAR(10) NOT NULL,    hobby VARCHAR(20) NOT NULL)INSERT INTO HobbyInfo (name,hobby) VALUES ('LoveLong','喜歡種花')INSERT INTO HobbyInfo (name,hobby) VALUES ('LoveLong','喜歡畫畫')INSERT INTO HobbyInfo (name,hobby) VALUES ('LoveLong','癡迷人工智能')INSERT INTO HobbyInfo (name,hobby) VALUES ('LoveLong','喜歡我的龍哥')INSERT INTO HobbyInfo (name,hobby) VALUES ('Long','喜歡吃燒烤')INSERT INTO HobbyInfo (name,hobby) VALUES ('Long','喜歡看電子書')INSERT INTO HobbyInfo (name,hobby) VALUES ('Long','喜歡抽煙')INSERT INTO HobbyInfo (name,hobby) VALUES ('Long','不抽煙難受')SELECT * FROM HobbyInfoSELECT name,       hobby = STUFF((SELECT ','+hobby FROM HobbyInfo WHERE name = info.name FOR XML PATH('')),1,1,'')FROM HobbyInfo infoGROUP BY name

image

附錄:SQL字符串函數字符串函數對二進制數 據、字符串和表達式執行不同的運算。此類函數作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 數據類型以及可以隱式轉換為 CHAR 或VARCHAR的數據類型??梢栽赟ELECT 語句的SELECT 和WHERE 子句以及表達式中使用字符串函數。常用的字符串函數有: 一、字符轉換函數 1、ASCII() 返回字符表達式 最左端字符的ASCII 碼值。在ASCII()函數中,純數字的字符串可不用‘’括起來,但含其它字符的字符串必須用‘’括起來使用,否則會出錯。

2、CHAR() 將ASCII 碼轉換為字符。如果沒有輸入 0 ~ 255 之間的ASCII 碼值,CHAR() 返回NULL 。

3、LOWER()和UPPER() LOWER()將字符串全部轉為小 寫;UPPER()將字符串全部轉為大寫。

4、STR() 把數值型數據轉換為字符型數據。 STR (<float_expression> [,length[, <decimal>]]) length 指定返回的字符串的長度,decimal 指定返回的小數位數。如 果沒有指定長度,缺省的length 值為10, decimal 缺省值為0。 當length 或者decimal 為負值時,返回 NULL; 當length 小于小數點左邊(包括符號位)的位數時,返回length 個*; 先服從length ,再取 decimal ; 當返回的字符串位數小于length ,左邊補足空格。

二、去空格函數 1、LTRIM() 把 字符串頭部的空格去掉。 2、RTRIM() 把字符串尾部的空格去掉。 三、取子串函數 1、left() LEFT (<character_expression>, <integer_expression>) 返回character_expression 左起 integer_expression 個字符。 2、RIGHT() RIGHT (<character_expression>, <integer_expression>) 返回character_expression 右起 integer_expression 個字符。 3、SUBSTRING() SUBSTRING (<expression>, <starting_ position>, length) 返回從字符串左邊第starting_ position 個字符起length個字符的部分。 四、字符串 比較函數 1、CHARINDEX() 返回字符串中某 個指定的子串出現的開始位置。 CHARINDEX (<’substring_expression’>, <expression>) 其中substring _expression 是所要查找的字符表達式,expression 可為字符串也可為列名表達式。如果沒有發現 子串,則返回0 值。 此函數不能用于TEXT 和IMAGE 數據類型。

2、PATINDEX() 返回字符串中某個指定的子串出現的開始位置。 PATINDEX (<’%substring _expression%’>, <column_ name>) 其中子串表達式前后必須有百分號“%”否則返回值為0。 與CHARINDEX 函數不同的是,PATINDEX函數的子串中可以使用通配符,且 此函數可用于CHAR、 VARCHAR 和TEXT 數據類型。 五、字符串操作函數 1、QUOTENAME() 返回被特定字符括起來的字符串。 QUOTENAME (<’character_expression’> [, quote_ character]) 其中quote_ character 標明括字符串所用的字符,缺省值為“[]”。

2、REPLICATE() 返回一個重復 character_expression 指定次數的字符串。 REPLICATE (character_expression integer_expression) 如 果integer_expression 值為負值,則返回NULL 。 3、 REVERSE() 將指定的字符串的字符排列順序顛倒。 REVERSE (<character_expression>) 其 中character_expression 可以是字符串、常數或一個列的值。 4、 REPLACE() 返回被替換了指定子串的字符串。 REPLACE (<string_expression1>, <string_expression2>, <string_expression3>) 用 string_expression3 替換在string_expression1 中的子串string_expression2。 5、SPACE() 返回一個有指定長度的空白字符串。 SPACE (<integer_expression>) 如 果integer_expression 值為負值,則返回NULL 。 6、 STUFF() 用另一子串替換字符串指定位置、長度的子串。 STUFF (<character_expression1>, <start_ position>, <length>,<character_expression2>) 如果起始位置為負或長度值為負,或者起始位置大于character_expression1 的長度,則返回NULL 值。 如果 length 長度大于character_expression1 中 start_ position 以右的長度,則 character_expression1 只保留首字符。

六、數據類型轉換函數 1、CAST() CAST (<expression> AS <data_ type>[ length ]) 2、CONVERT() CONVERT (<data_ type> [ length ], <expression> [, style]) 1)data_type為SQL Server 系統定義的數據類型,用戶自定義的數據類型不能在此使用。 2)length用于指定數據的長度,缺省值為30。 3)把CHAR或 VARCHAR類型轉換為諸如INT或SAMLLINT這樣的INTEGER類型、結果必須是帶正號或負號的數值。 4)TEXT類型到CHAR 或VARCHAR類型轉換最多為8000個字符,即CHAR或VARCHAR數據類型是最大長度。 5)IMAGE類型存儲的數據轉換到 BINARY或VARBINARY類型,最多為8000個字符。 6)把整數值轉換為MONEY或SMALLMONEY類型,按定義的國家的貨幣 單位來處理,如人民幣、美元、英鎊等。 7)BIT類型的轉換把非零值轉換為1,并仍以BIT類型存儲。 8)試圖轉換到不同長度的數據 類型,會截短轉換值并在轉換值后顯示“+”,以標識發生了這種截斷。 9)用CONVERT() 函數的style 選項能以不同的格式顯示日期 和時間。style 是將DATATIME 和SMALLDATETIME 數據轉換為字符串時所選用的由SQL Server 系統提供的轉換樣式編 號,不同的樣式編號有不同的輸出格式。

七、日期函數 1、 day(date_expression) 返回date_expression中的日期值 2、month(date_expression) 返回date_expression中的月 份值 3、year(date_expression) 返回 date_expression中的年份值 4、DATEADD() DATEADD (<datepart>, <number>, <date>) 返回指定日期date 加上指定的額外日期間隔number 產生的新日期。參數“datepart” 取值如下:

5、DATEDIFF() DATEDIFF (<datepart>, <date1>, <date2>) 返回兩個指定日期在datepart 方面的不同之處,即date2 超過date1的差距值,其結果值是一個帶有正負號的整數值。 6、DATENAME() DATENAME (<datepart>, <date>) 以字符串的形式返回日期的指定部分此部分。由datepart 來指定。 7、 DATEPART() DATEPART (<datepart>, <date>) 以整數值 的形式返回日期的指定部分。此部分由datepart 來指定。 DATEPART (dd, date) 等同于DAY (date) DATEPART (mm, date) 等 同于MONTH (date) DATEPART (yy, date) 等同于YEAR (date) 8、GETDATE() 以DATETIME 的缺省格式返回系統當前的日期和時間

element
Font
font-family
font-size
font-style
font-variant
font-weight
letter-spacing
line-he
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品久久久久中文字幕欢迎你| 久久亚洲精品一区| 亚洲第五色综合网| 精品国内产的精品视频在线观看| 国产精品av免费在线观看| 日韩免费av片在线观看| 精品久久国产精品| 亚洲xxxx妇黄裸体| 国产精品羞羞答答| 欧美日韩国产精品一区二区三区四区| 久久久亚洲欧洲日产国码aⅴ| 亚洲第一区在线| 国产精品丝袜高跟| 欧美性生活大片免费观看网址| 国产亚洲精品美女久久久| 日韩激情视频在线播放| 精品国产一区二区三区在线观看| 国产+成+人+亚洲欧洲| 亚洲人a成www在线影院| 中文字幕av一区中文字幕天堂| 国产色视频一区| 91亚洲精品在线| 国产视频精品va久久久久久| 亚洲日本成人女熟在线观看| 少妇av一区二区三区| 青青草精品毛片| 亚洲第一综合天堂另类专| 一区二区成人av| 国产日韩视频在线观看| 午夜精品一区二区三区在线播放| 亚洲欧美日韩中文视频| 亚洲欧美日韩精品久久| 久久人91精品久久久久久不卡| 国产精品极品尤物在线观看| 日韩精品在线视频美女| 国产亚洲欧美另类中文| 亚洲www在线观看| 国产欧美日韩中文字幕在线| 国产精品久久久久久久一区探花| 色多多国产成人永久免费网站| 亚洲国产高潮在线观看| 亚洲欧美日韩中文在线制服| 国产一区二区在线免费视频| 国产成人亚洲综合青青| 国产精品入口夜色视频大尺度| 亚洲成人久久网| 欧美日韩亚洲一区二区| 97久久伊人激情网| 国产亚洲精品成人av久久ww| 欧美日韩国产专区| 亚洲无av在线中文字幕| 国产精品高潮呻吟久久av野狼| 久久亚洲影音av资源网| 欧洲日本亚洲国产区| 国产区精品在线观看| 国产69精品久久久| 亚洲最大在线视频| 国语自产精品视频在线看抢先版图片| 最好看的2019的中文字幕视频| 97色在线观看| 亚洲国产一区二区三区四区| 久久亚洲成人精品| 国产精品亚洲欧美导航| 久久综合伊人77777蜜臀| 欧美日韩国产成人在线| xxx一区二区| 欧美一级免费视频| 亚洲乱码av中文一区二区| 欧美福利视频在线观看| 国产欧美日韩91| 亚洲成人教育av| 国产不卡一区二区在线播放| 欧美xxxx18性欧美| 美日韩精品视频免费看| 美女福利精品视频| 久久精品福利视频| 久久久这里只有精品视频| 欧美精品激情在线| 久久久国产一区二区| 国产91精品久久久久| 国产91免费观看| 最新日韩中文字幕| 国语自产精品视频在线看抢先版图片| 亚洲国产精品一区二区久| 亚洲欧美日韩精品久久奇米色影视| 原创国产精品91| 高清亚洲成在人网站天堂| 亚洲精品一二区| 国产午夜精品一区理论片飘花| 久久偷看各类女兵18女厕嘘嘘| 亚洲男人的天堂在线| 国产亚洲欧美另类中文| 久久露脸国产精品| 国模精品视频一区二区| 国产黑人绿帽在线第一区| 欲色天天网综合久久| 欧美精品亚州精品| 精品国产精品三级精品av网址| 国产精品久久久久久亚洲调教| 国产主播在线一区| 最近更新的2019中文字幕| 欧美极品少妇xxxxx| 国产主播在线一区| 91麻豆国产精品| 45www国产精品网站| 久久精品国产免费观看| 欧美视频二区36p| 91在线视频一区| 正在播放亚洲1区| 尤物yw午夜国产精品视频明星| 欧美日韩亚洲高清| 欧美性xxxx极品hd欧美风情| 欧美精品一区二区免费| 国产精品美女久久久免费| 国产精品6699| 亚洲黄在线观看| 国产精品一二区| 国产v综合v亚洲欧美久久| 国产精品盗摄久久久| 俺去亚洲欧洲欧美日韩| 国产精品夜间视频香蕉| 2018中文字幕一区二区三区| 欧美另类老女人| 97久久伊人激情网| 成人免费视频网| 中文字幕亚洲在线| 亚洲字幕一区二区| 欧美与欧洲交xxxx免费观看| 国语自产偷拍精品视频偷| 欧美成人在线网站| 日韩欧美a级成人黄色| 精品亚洲一区二区三区在线播放| 国内外成人免费激情在线视频网站| 欧美日韩国产一区二区三区| 欧美一区视频在线| 精品自拍视频在线观看| 一区二区欧美日韩视频| 精品久久中文字幕| 国产精品吊钟奶在线| 亚洲成人网在线| 亚洲欧洲偷拍精品| 亚洲免费小视频| 一区二区在线视频播放| 国产精品综合网站| 狠狠躁夜夜躁人人爽超碰91| 国产精品国产自产拍高清av水多| 中文字幕精品—区二区| 欧美日韩国产专区| 国产日韩在线亚洲字幕中文| 亚洲国产精品久久久| 午夜欧美不卡精品aaaaa| 国产午夜精品免费一区二区三区| 成人激情视频小说免费下载| 亚洲精品日韩在线| 成人精品视频99在线观看免费| 国产一区二区精品丝袜| 美乳少妇欧美精品| 国产在线一区二区三区| 欧美性xxxxxx| 97精品一区二区视频在线观看| 欧美最猛性xxxxx(亚洲精品)| 亚洲欧美精品一区| 国产有码在线一区二区视频| 欧美另类99xxxxx|