データ型が VARCHAR(MAX) の場合、SQL Server 2008 データベース フィールドには何文字を含めることができますか?
4 に答える
http://msdn.microsoft.com/en-us/library/ms176089.aspxから
varchar [ ( n | max ) ] 可変長の非 Unicode 文字データ。n は 1 ~ 8,000 の値です。max は、最大ストレージ サイズが 2^31-1 バイトであることを示します。ストレージサイズは、入力されたデータの実際の長さ + 2 バイトです。入力するデータの長さは 0 文字です。varchar の ISO シノニムは、可変文字または可変文字です。
1文字=1バイト。終端用の 2 バイトを忘れないでください。したがって、2^31-3 文字です。
この答えをすぐに必要とする将来の読者のために:
2^31-1 = 2 147 483 647 文字、または約 21 億 4700 万
最大数/サイズについては、MSDN リファレンス テーブルを参照してください。
varchar(max)、varbinary(max)、xml、text、または image 列あたりのバイト数: 2^31-1
列には 2 バイトのオーバーヘッドがあるため、実際のデータの長さは最大 2^31-3 バイトです。シングルバイト文字エンコーディングを使用していると仮定すると、合計で 2^31-3 文字になります。(文字あたり 1 バイト以上を使用する文字エンコーディングを使用している場合は、文字あたりの総バイト数で割ります。可変長文字エンコーディングを使用している場合、すべての賭けはオフです。)
言及する価値のある落とし穴がいくつかあります - varchar(max) の使用を強制する必要があるかもしれません
および印刷は8000文字のみを処理します