话不多说,直接开始
For XML PATH ('')
该函数用于将SQL的查询结果生成xml文件,PATH('')中的值为节点名,比如执行下面这句SQL:
select top (3) UserName from Sys_UserInf for xml path('node')
得到结果如下:
<node>
<UserName>系统管理员</UserName>
</node>
<node>
<UserName>系统管理员</UserName>
</node>
<node>
<UserName>王二妮</UserName>
</node>
所以我们将PATH函数参数设置为空串,即PATH(''),可以得到:
<UserName>系统管理员</UserName>
<UserName>系统管理员</UserName>
<UserName>王二妮</UserName>
最后我们将UserName前加上分隔符 ' , ' 完成拼接:
select top (3) ','+UserName from Sys_UserInf for xml path('')
得到的结果还不太完善,因为最前面还有一个' , ',我们用STUFF函数,将其切割掉,即:
select STUFF( (select top (3) ','+UserName from Sys_UserInf for xml path('')),1,1,'')
得到最终结果:
系统管理员,系统管理员,王二妮
疑问
在操作过程中,我对为什么在UserName前面加上逗号之后,XML文档的格式就不再是标签格式产生了疑问,暂时还没有得到结果,后续进行更新。2019年5月5日17:52:07
Comments | NOTHING