SQL Server 2000の最大サイズを教えてvarchar
ください。Google で調べていると、8000 文字と書かれていて、8060 バイトと書かれていました。どちらが正しいですか?
4 に答える
Varchar は 8000 で、nvarchar は 4000 です。
varchar msdn リファレンスは次のとおりです:
http://msdn.microsoft.com/en-us/library/aa258242(SQL.80).aspx
SQL Server データ ページには 8k: 8192 バイトがあります。この部分がページ ヘッダー用に予約され、8060 バイトが 1 行の最大長として残されます。行では、varbinary(n)、varchar(n)、および nvarchar(n) 型は 8000 バイトを超えることはできません。つまり、varchar(8000) は Ascii の最大長であり、nvarchar(4000) は Unicode の最大長です (Unicode であるため)。各文字を 2 バイトに格納します)。
これらすべての詳細についての最良の説明は、Inside the Storage Engine: Anatomy of a page にあります。
私が覚えている限り、それは8000文字です。
Nvarchar の場合は 4000 です。
varchar(max) の最大サイズが大きい (2GB または 2Gchars だと思います)。varchar(n) の n に指定できる最大値は 8000 で、nvarchar の場合は 4000 です。