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函數的用法》。