sql server中的XMLAGG等效

问题描述:

select XMLAGG (XMLELEMENT (E, Customer_data, ',').EXTRACT ('//text()') ORDER BY Customer_data).GETCLOBVAL(), customer_id from customer_tablesql server中的XMLAGG等效

这基本上结合了customer_table中具有相同customer_id的所有行。这在Oracle中有效,并且对它可以处理的行大小没有任何限制(大于4000)。

我需要MS SQL Server中的一个类似的功能,它会为我做同样的事情。我尝试过使用'STUFF'功能,但它有4000个字符的限制。 请帮忙。

+1

什么是你的MSSQL Server版本? –

+0

我在2012 MSSQL服务器上 – Photops

信件没有4000个字符的限制。 EG

with q as 
(
    select o.name 
    from sys.objects o, sys.columns c 
) 
select 
datalength(
STUFF((Select ','+ q.Name 
from q 
FOR XML PATH('')),1,1,'') 
) 
q 

输出

q 
-------------------- 
2624410 

(1 row(s) affected)