1

多数のレコード ID を単一のカンマ区切りの文字列変数に結合しようとしています。ただし、結果の n/varchar 変数は常に 4096 文字で切り捨てられます。

これが私が試みているSQLステートメントです-

DECLARE @docIds varchar(max)
SELECT @docIds = COALESCE(@docIds + ',', '') + CAST(docUid AS varchar(32))
FROM Documents

n/varchar(max) の切り捨てと連結に関する他の多くの SO リンクを見つけましたが、上記のクエリを解決できないようです。私も試しました-

DECLARE @docIds varchar(max) SET @docIds = ''
SELECT @docIds = @docIds + ',' + CAST(docUid AS varchar(32))
FROM Documents
SET @docIds = STUFF(@docIds, 1, 1, '');

上記の両方のクエリから、SELECT LEN(@docIds)最大 4096 しか返されません。

質問:切り捨ての問題なしに、上記の検索を単一の文字列変数にするにはどうすればよいですか?

4

1 に答える 1