0

いくつかのサイトを1ラウンド歩きましたが、Dynamic Pivotを解決する(唯一の)方法は、クエリを文字列として保存してから、その文字列クエリを実行することです。しかし、私の場合、列の数が1つの文字列の容量を超えているため、このソリューションを適用できないようです。

declare @columns nvarchar(max)

select @columns = COALESCE(@columns + ', ','') + QUOTENAME(name)
from table1

@columnsの最大容量を宣言しましたが、それでも十分なスペースがなく、エラーが発生します。このケースを回避する方法はありますか、またはクエリを文字列として保存せずに動的ピボットを構築するにはどうすればよいですか?

4

1 に答える 1

1

列名に英字のみが含まれている場合は、Nvarchar(max) の代わりにVarchar(MAX)を試してください

Varchar(max) は最大 2B のデータを保持できますが、Nvarchar(max) は 4k 文字しか保持できません

于 2012-09-26T07:58:52.207 に答える