溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

通過(guò)SQL Server的FOR XML PATH方法實(shí)現(xiàn)字符串的拼接

發(fā)布時(shí)間:2020-07-30 11:17:37 來(lái)源:網(wǎng)絡(luò) 閱讀:2329 作者:helicon80 欄目:數(shù)據(jù)庫(kù)

    FOR XML PATH的作用就是將查詢結(jié)果以XML形式展示,但是通過(guò)FOR XML PATH可以簡(jiǎn)化我們的查詢語(yǔ)句,并實(shí)現(xiàn)以前一些需要借助函數(shù)才能實(shí)現(xiàn)的功能,如將查詢結(jié)果以字符串的形式進(jìn)行拼接。

    1、把查詢的結(jié)果轉(zhuǎn)換為XML文件,TestTable表記錄如下       

        FID FName FSex

        1 張三

        2 李四

        3 王五

        4 趙小花

        5 蘇×××

        6 周小萌

     包含for xml path的SQL語(yǔ)句如下

        select FID,FName,FSex from TestTable for xml path

    執(zhí)行SQL語(yǔ)句后的結(jié)果為    

<row>
  <FID>1</FID>
  <FName>張三</FName>
  <FSex>男</FSex>
</row>
<row>
  <FID>2</FID>
  <FName>李四</FName>
  <FSex>男</FSex>
</row>
<row>
  <FID>3</FID>
  <FName>王五</FName>
  <FSex>男</FSex>
</row>
<row>
  <FID>4</FID>
  <FName>趙小花</FName>
  <FSex>女</FSex>
</row>
<row>
  <FID>5</FID>
  <FName>蘇×××</FName>
  <FSex>女</FSex>
</row>
<row>
  <FID>6</FID>
  <FName>周小萌</FName>
  <FSex>女</FSex>
</row>

    2、使用for xml path實(shí)現(xiàn)字段拼接

        把性別是男的人名拼接起來(lái),需要的sql語(yǔ)句如下:          

select ' '+FName from TestTable where FSex='男' for xml path('')

        sql語(yǔ)句執(zhí)行后的結(jié)果為: 張三 李四 王五。這樣就實(shí)現(xiàn)了吧查詢結(jié)果拼接的目的了。

    3、在sql的查詢中,一般使用相關(guān)子查詢的方式,實(shí)現(xiàn)把拼接的結(jié)果輸出的sql結(jié)果集中。如果字符串的拼接使用相關(guān)字符(|,)進(jìn)行拼接的話,通常配合stuff函數(shù)進(jìn)行操作。stuff函數(shù)的使用方法參照我的另一篇博客《SQL Server stuff函數(shù)的用法》。

        

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI