Sql 使用xml path 将单列拼接成一行

 功能需要,将查询到的单列guid拼接成一个字符串,懒得去在后台去做遍历拼接,百度了下,如下↓

首先,确定你要合并的列

SELECT user_name FROM dbo.users

其次,将其以xml 格式输出
SELECT user_name FROM dbo.users FOR XML PATH

然后,去除包裹的节点名称
SELECT ',' +user_name FROM dbo.users FOR XML PATH('')


(这里,','+user_name以后变成了无列名状态,','可以填充具体的分隔符,PATH('')是自定义外层节点名称)

下来,去掉最终结果首位的分隔符,以空字符替代(PS:这样不用数长度)
SELECT STUFF((SELECT ','+user_name FROM dbo.users FOR XML PATH('')),1,1,'') 

实际操作如下图:

原文地址:https://www.cnblogs.com/JesseP/p/11103376.html