256

SQL Server 2008で型の列を宣言しましたがNVARCHAR(MAX)、長さとして MAX を持つ正確な最大文字数は何ですか?

4

4 に答える 4

529

type の列の最大サイズNVARCHAR(MAX)は 2 GB のストレージです。

NVARCHARは 1 文字あたり 2 バイトを使用するため、およそ. 10億文字。

Leo Tolstoj's War and Peace is a 1'440 page book, containing about 600'000 words - so that might be 6 million characters - well rounded up. So you could stick about 166 copies of the entire War and Peace book into each NVARCHAR(MAX) column.

Is that enough space for your needs? :-)

于 2012-06-21T05:26:12.340 に答える
79

デフォルトでは、実際の長さが 4000 文字を超えない限り、nvarchar(MAX) 値は nvarchar(4000) 値とまったく同じように格納されます。その場合、行内データは、データが格納されている 1 つ以上の個別のページへのポインターに置き換えられます。

データが 4000 文字を超える可能性があると予想される場合は、nvarchar(MAX) を選択することをお勧めします。

ソース: https://social.msdn.microsoft.com/Forums/en-US/databasedesign/thread/d5e0c6e5-8e44-4ad5-9591-20dc0ac7a870/

于 2012-06-21T05:28:10.923 に答える
11

MSDNドキュメントから

nvarchar [(n | max)]

可変長Unicode文字列データ。nは文字列の長さを定義し、1から4,000までの値にすることができます。maxは、最大ストレージサイズが2 ^ 31-1バイト(2 GB)であることを示します。ストレージサイズ(バイト単位)は、入力されたデータの実際の長さの2倍+2バイトです。

于 2012-06-21T13:22:29.373 に答える