2009-11-19 19 views

答えて

49

http://msdn.microsoft.com/en-us/library/ms176089.aspxからのvarchar [(N |最大)] 可変長、非Unicode文字 データ。 nは1〜 8000の値にすることができます。 maxは、最大 のストレージサイズが2^31-1バイトであることを示します。 ストレージサイズは、実際に入力されたデータの長さ+2バイトの です。入力されたデータ の長さは0文字です。 varcharのISO同義語は、可変文字または可変文字のいずれかである です。

1文字= 1バイト。そして、終了のために2バイトを忘れないでください。したがって、2^31-3文字です。

+8

技術的には、1つの文字=のみ、特定の文字エンコーディングのための1バイト:すぐにこの答えを必要とする将来の読者のために。 – Amber

+1

本当です。たとえば、DBCS文字列を使用すると、より少ない文字列が得られます。だから、それに注意してください。 –

+0

@Dav、それは私の考慮事項の一つでもありました。しかし、利用可能なバイト数のために、これはこのシナリオに対する私のニーズを満たすでしょう。 – Russell

7

MSDN reference table for maximum numbers/sizesを参照してください。

バイトvarchar型(最大)、 varbinary型(最大)、XML、テキスト、または画像あたり コラム:2^31-1

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

7

2^31-1 = 2.147.483.647文字

関連する問題