阅读量:3
在SQL Server中,可以使用以下方法来模拟类似于Oracle中的WM_CONCAT函数的功能:
- 使用XML PATH
SELECT ID,
STUFF((SELECT ', ' + ColumnName
FROM TableName t2
WHERE t1.ID = t2.ID
FOR XML PATH('')), 1, 2, '') AS ConcatenatedColumn
FROM TableName t1
GROUP BY ID;
- 使用FOR XML PATH(‘’)和STUFF函数结合
SELECT ID,
STUFF((SELECT ', ' + ColumnName
FROM TableName t2
WHERE t1.ID = t2.ID
FOR XML PATH('')), 1, 2, '') AS ConcatenatedColumn
FROM TableName t1
GROUP BY ID;
- 使用自定义函数 可以创建一个自定义函数来模拟WM_CONCAT函数的功能,例如:
CREATE FUNCTION dbo.WM_Concat
(
@ID INT
)
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @ConcatenatedColumn VARCHAR(MAX)
SELECT @ConcatenatedColumn = COALESCE(@ConcatenatedColumn + ', ', '') + ColumnName
FROM TableName
WHERE ID = @ID
RETURN @ConcatenatedColumn
END
然后可以使用该函数来实现类似WM_CONCAT函数的功能:
SELECT ID, dbo.WM_Concat(ID) AS ConcatenatedColumn
FROM TableName
GROUP BY ID;
以上就是关于“如何在SQL Server使用WM_CONCAT”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm