语法如下:

 SELECT STUFF((select \',\'+c.MR_RolName from 查询语句 FOR XML PATH(\'\')),1,1,\'\');

解释如下

1.STUFF函数。表示截取拼接函数

第一个参数表示原字符串

第二个参数表示从哪个坐标开始,参数从1开始

第三个参数表示截取几位。

最后一个参数表示将什么内容插入到截取部分。

 

2.FOR XML  PATH(\’\’)

表示将查询结果按照xml形式展示,path里面的内容表示父节点的名称,这里的\’\’表示为空

比如我在这里没有给 \’,\’+c.MR_RolName  添加自定义名称,所以为空,加入定义了,比如myname,就会变成

<myname>\’,\’+c.MR_RolName</myname><myname>\’,\’+c.MR_RolName</myname>。。。

以一行展示,但是没有定义的话,就是

\’,\’+c.MR_RolName \’,\’+c.MR_RolName

 

 

那么就很清晰了。上面的语句,就是先把查询结果换成逗号加参数的形式以一行展示,然后去除掉第一个逗号,赋值为\’\’

 

如果还不是很清楚的话,可以参考其他博客:

http://www.360doc.com/content/20/0214/22/11881101_892070529.shtml

 

版权声明:本文为AduBlog原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/AduBlog/p/13993414.html