sql将查询的多行结果使用逗号连接拼接成一行

语法如下:

 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

 

sql将查询的多行结果使用逗号连接拼接成一行

上一篇:[JQuery]事件器的介绍


下一篇:利用Log4net组件记录日志