2017-08-08 5 views
0

select XMLAGG (XMLELEMENT (E, Customer_data, ',').EXTRACT ('//text()') ORDER BY Customer_data).GETCLOBVAL(), customer_id from customer_tableXMLAGG相当

これは基本的に同じCUSTOMER_IDを持つCUSTOMER_TABLEのすべての行を、兼ね備えています。これはOracleで動作し、処理できる行サイズ(4000以上)には制限がありません。

MS SQL Serverでも同様の機能が必要です。これは私にとっても同じことです。私は 'STUFF'機能を使用しようとしましたが、4000文字の制限があります。 助けてください。

+1

あなたのMSSQL Serverのバージョンは何ですか? –

+0

私は2012 MSSQL Server上にいる – Photops

答えて

0

STUFFには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)