如何在SQL Server使用WM_CONCAT

   2024-10-06 7640
核心提示:在SQL Server中,可以使用以下方法来模拟类似于Oracle中的WM_CONCAT函数的功能:使用XML PATHSELECT ID,STUFF((SELECT '

在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 ConcatenatedColumnFROM TableName t1GROUP 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 ConcatenatedColumnFROM TableName t1GROUP BY ID;
使用自定义函数可以创建一个自定义函数来模拟WM_CONCAT函数的功能,例如:
CREATE FUNCTION dbo.WM_Concat(    @ID INT)RETURNS VARCHAR(MAX)ASBEGIN    DECLARE @ConcatenatedColumn VARCHAR(MAX)        SELECT @ConcatenatedColumn = COALESCE(@ConcatenatedColumn + ', ', '') + ColumnName    FROM TableName    WHERE ID = @ID        RETURN @ConcatenatedColumnEND

然后可以使用该函数来实现类似WM_CONCAT函数的功能:

SELECT ID, dbo.WM_Concat(ID) AS ConcatenatedColumnFROM TableNameGROUP BY ID;

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号