sql server中的XMLAGG等效
问题描述:
select XMLAGG (XMLELEMENT (E, Customer_data, ',').EXTRACT ('//text()') ORDER BY Customer_data).GETCLOBVAL(), customer_id from customer_table
sql server中的XMLAGG等效
这基本上结合了customer_table中具有相同customer_id的所有行。这在Oracle中有效,并且对它可以处理的行大小没有任何限制(大于4000)。
我需要MS SQL Server中的一个类似的功能,它会为我做同样的事情。我尝试过使用'STUFF'功能,但它有4000个字符的限制。 请帮忙。
答
信件没有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)
什么是你的MSSQL Server版本? –
我在2012 MSSQL服务器上 – Photops