FOR XML PATH的作用就是将查询结果以XML形式展示,但是通过FOR XML PATH可以简化我们的查询语句,并实现以前一些需要借助函数才能实现的功能,如将查询结果以字符串的形式进行拼接。

    1、把查询的结果转换为XML文件,TestTable表记录如下       

        FID FName FSex

        1 张三

        2 李四

        3 王五

        4 赵小花

        5 苏×××

        6 周小萌

     包含for xml path的SQL语句如下

        select FID,FName,FSex from TestTable for xml path

    执行SQL语句后的结果为    


  1
  张三
  


  2
  李四
  


  3
  王五
  


  4
  赵小花
  


  5
  苏×××
  


  6
  周小萌
  

    2、使用for xml path实现字段拼接

        把性别是男的人名拼接起来,需要的sql语句如下:          

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

        sql语句执行后的结果为: 张三 李四 王五。这样就实现了吧查询结果拼接的目的了。

    3、在sql的查询中,一般使用相关子查询的方式,实现把拼接的结果输出的sql结果集中。如果字符串的拼接使用相关字符(|,)进行拼接的话,通常配合stuff函数进行操作。stuff函数的使用方法参照我的另一篇博客《SQL Server stuff函数的用法》。