我在 SQL Server 2008 中声明了一个类型为
NVARCHAR(MAX)
的列,以 MAX 为长度时,它的确切最大字符数是多少?
NVARCHAR(MAX)
类型的列的最大大小为 2 GB 存储空间。
由于
NVARCHAR
每个字符使用 2 个字节,因此大约为 2 个字节。 10 亿个字符。
列夫·托尔斯泰 (Leo Tolstoj) 的《战争与和平》是一本 1,440 页的书,包含约 600,000 个单词 - 因此可能有 600 万个字符 - 经过四舍五入。因此,您可以将整本《战争与和平》书的大约 166 册粘贴到每个 NVARCHAR(MAX)
列中。
这个空间足够满足您的需求吗? :-)
默认情况下,nvarchar(MAX) 值的存储方式与 nvarchar(4000) 值完全相同,除非实际长度超过 4000 个字符;在这种情况下,行内数据将被替换为指向存储数据的一个或多个单独页面的指针。
如果您预计数据可能超过 4000 个字符,nvarchar(MAX) 绝对是推荐选择。
来自
MSDN 文档