1. ホーム
  2. sql-server

[解決済み] nvarchar(MAX)が保持する最大文字数を教えてください。

2022-11-06 22:47:19

質問

初めて聞く話なのですが nvarchar(MAX) . 何文字入るのでしょうか?

どのように解決するのですか?

最大容量は2ギガバイトなので、2バイト文字で10億文字強の文字列を NVARCHAR(MAX) フィールドに収まる 2 バイト文字が 10 億文字強ということになります。

他の回答のより詳細な数値を使って、格納するのは

(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 文字を格納することができます。