web-dev-qa-db-ja.com

varchar(max)の文字数

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

46
Russell

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

54
i_am_jorf

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

2 ^ 31-1 = 2.147.483.647文字

20
Dmyan

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

Varchar(max)、varbinary(max)、xml、text、またはimage列ごとのバイト数:2 ^ 31-1

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

7
Amber