回答:
マックス。容量は2ギガバイトのスペースです。つまり、NVARCHAR(MAX)
フィールドに収まる10億を超える2バイト文字を調べています。
他の回答のより詳細な数値を使用すると、保存できるはずです
(2 ^ 31 - 1 - 2) / 2 = 1'073'741'822 double-byte characters
1 billion, 73 million, 741 thousand and 822 characters to be precise
あなたのNVARCHAR(MAX)
コラム(残念ながら、その後半の文字は無駄になっています...)
更新: @MartinMulderが指摘したように:可変長文字列にも実際の長さを格納するために2バイトのオーバーヘッドがあります。そのため、2 ^ 31 - 1
以前に規定した長さからさらに2バイトを減算する必要があり、1文字未満のUnicode文字を格納できます。私は以前に主張しました。
VARCHAR(MAX)
アジア、アラブ、またはキリル言語の2バイトサポートが必要ない場合は、を使用します。(N)VARCHAR(x)
文字列がx文字を超えないことがわかっている場合に使用します(NVARCHAR(MAX)
名に使用しないでください-使用するNVARCHAR(50)
か、あなた
charおよびvarcharから(Transact-SQL)
varchar [(n | max)]
可変長の非Unicode文字データ。nには、1〜8,000の値を指定できます。maxは、最大ストレージサイズが2 ^ 31-1バイトであることを示します。ストレージサイズは、入力されたデータの実際の長さ+ 2バイトです。入力するデータの長さは0文字にすることができます。varcharのISOシノニムは、charの変化または文字の変化です。
2 ^ 31-1バイト。したがって、varchar(max)の場合は2 ^ 31-1文字弱、nvarchar(max)の場合は半分になります。