SQL Server 一列多行转为字符串

阅读量:52 2024-11-27 SQL Server 一列多行转为字符串 SQL

知识分享不易,转载请标注来源:http://www.blenderkou.top/contents/13/6370.html
版权申明:欢迎转载,但请注明出处。
一些博文中的参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。



SQL Server一列多行转为字符串

 

关键词:表格转字符串、一列转字符串

一、多行转一行

使用FOR XML函数,将查询结果集以XML形式展现,将多行的结果,展示在同一行。

查询语句:

SELECT ',' + CardCode  
FROM OCRD
WHERE CardType = 'C'
FOR XML PATH('')


查询结果


二、去除转换后字符串的首位分隔符


如果要去除首位多余的分隔符,可以使用 STUFF ,如下所示:

查询语句:

SELECT  STUFF(( 
				SELECT ',' + CardCode  
				FROM OCRD
				WHERE CardType = 'C'
				FOR XML PATH('')
                          ), 1, 1, '') CardCodeStr


查询结果

三、应用场景举例
如: OPOR 表为【采购订单主表】POR1表为【采购订单子表】,两表通过 DocEntry字段关联,现需要显示采购订单清单,一个单据一行,该单据包含的物料编号拼接到一个字段显示:

查询语句:

SELECT  T0.DocEntry 
		,STUFF(( 
				SELECT ',' + U0.ItemCode  
				FROM POR1 U0
				WHERE U0.DocEntry = T0.DocEntry 
				FOR XML PATH('')
              ), 1, 1, '') ItemCodeStr
from OPOR T0
where T0.DocEntry < 10

查询结果


关注.png

扫描二维码,关注我的公众号,第一时间获取文章!


知识分享不易,转载请标注来源:http://www.blenderkou.top/contents/13/6370.html
版权申明:欢迎转载,但请注明出处。
一些博文中的参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。

上一篇
HANA 数据库 一列多行转为字符串

下一篇
SQL Server 日期格式化/转换日期格式函数