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

Posted jessep

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,‘‘) 

 

实际操作如下图:

技术图片

 

以上是关于Sql 使用xml path 将单列拼接成一行的主要内容,如果未能解决你的问题,请参考以下文章

使用 SQL的 for xml path来进行字符串拼接

SQL查询结果拼接成字符串

sql server 2000中如何使用xml for path来进行字符串拼接

Sql Server 中FOR XML PATH(‘‘)函数用法

Sql Server 中FOR XML PATH(‘‘)函数用法

sql查询列进行STUFF()拼接 单引号 逗号_xml path excel