什么是NVARCHAR(MAX)的最大字符数?

我已经在SQL Server 2008中声明了一个NVARCHAR(MAX)types的列,它的最大长度是多less?

NVARCHAR(MAX)types的列的最大大小是2 GB的存储空间。

由于NVARCHAR使用每个字符2个字节, 十亿字。

列夫·托尔斯托的“ 战争与和平”是一本1'440页的书,内容大约有60万字 – 可能是600万字 – 完全取整。 所以你可以把整个“ 战争与和平”书的大约166份拷贝放到每个NVARCHAR(MAX)列中。

这是足够的空间满足您的需求吗? 🙂

默认情况下,除非实际长度超过4000个字符,否则nvarchar(MAX)值的存储方式与nvarchar(4000)值完全相同。 在这种情况下,行内数据被指向存储数据的一个或多个独立页面的指针替代。

如果您预计数据可能超过4000个字符,nvarchar(MAX)绝对是推荐的select。

资料来源: http : //social.msdn.microsoft.com/Forums/en-US/databasedesign/thread/d5e0c6e5-8e44-4ad5-9591-20dc0ac7a870/

我认为实际上nvarchar(MAX)可以存储大约1070000000个字符。

nvarchar [(n | max)]

可变长度的Unicodestring数据。 n定义string的长度,可以是从1到4,000的值。 max表示最大存储大小为2 ^ 31-1字节(2 GB)。 存储大小(以字节为单位)是input数据的实际长度+ 2个字节的两倍

http://msdn.microsoft.com/en-us/library/ms186939.aspx