經過SQL Server的FOR XML PATH方法實現字符串的拼接

    FOR XML PATH的做用就是將查詢結果以XML形式展現,可是經過FOR XML PATH能夠簡化咱們的查詢語句,並實現之前一些須要藉助函數才能實現的功能,如將查詢結果以字符串的形式進行拼接。sql

    一、把查詢的結果轉換爲XML文件,TestTable表記錄以下       ide

        FID FName FSex函數

        1 張三 spa

        2 李四 xml

        3 王五 blog

        4 趙小花 字符串

        5 蘇××× get

        6 周小萌 博客

     包含for xml path的SQL語句以下it

        select FID,FName,FSex from TestTable for xml path

    執行SQL語句後的結果爲    

<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>

    二、使用for xml path實現字段拼接

        把性別是男的人名拼接起來,須要的sql語句以下:          

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

        sql語句執行後的結果爲: 張三 李四 王五。這樣就實現了吧查詢結果拼接的目的了。

    三、在sql的查詢中,通常使用相關子查詢的方式,實現把拼接的結果輸出的sql結果集中。若是字符串的拼接使用相關字符(|,)進行拼接的話,一般配合stuff函數進行操做。stuff函數的使用方法參照個人另外一篇博客《SQL Server stuff函數的用法》

相關文章
相關標籤/搜索