57

データ型が VARCHAR(MAX) の場合、SQL Server 2008 データベース フィールドには何文字を含めることができますか?

4

4 に答える 4

65

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 文字です。

于 2009-11-19T05:39:12.800 に答える
47

この答えをすぐに必要とする将来の読者のために:

2^31-1 = 2 147 483 647 文字、または約 21 億 4700 万

于 2017-12-04T12:21:58.790 に答える
8

最大数/サイズについては、MSDN リファレンス テーブルを参照してください。

varchar(max)、varbinary(max)、xml、text、または image 列あたりのバイト数: 2^31-1

列には 2 バイトのオーバーヘッドがあるため、実際のデータの長さは最大 2^31-3 バイトです。シングルバイト文字エンコーディングを使用していると仮定すると、合計で 2^31-3 文字になります。(文字あたり 1 バイト以上を使用する文字エンコーディングを使用している場合は、文字あたりの総バイト数で割ります。可変長文字エンコーディングを使用している場合、すべての賭けはオフです。)

于 2009-11-19T05:40:49.910 に答える
0

言及する価値のある落とし穴がいくつかあります - varchar(max) の使用を強制する必要があるかもしれません

https://dba.stackexchange.com/questions/18483/varcharmax-field-cutting-off-data-after-8000-characters

および印刷は8000文字のみを処理します

Printステートメントを使用してVARCHAR(MAX)を出力するには?

于 2021-03-03T11:47:36.587 に答える