NVARCHAR(MAX)的最大字符数是多少?

我在SQL Server 2008中声明了一个类型为NVARCHAR(MAX)的列,它的确切最大字符有MAX作为长度?

423800 次浏览

类型为NVARCHAR(MAX)的列的最大大小为2gbyte的存储空间。

由于NVARCHAR每个字符使用2个字节,因此大约。10亿个字符。

列夫·托尔斯泰的战争与和平是一本1440页的书,包含大约60万字——所以可能有600万个字符——很好地归纳起来。所以你可以在每个NVARCHAR(MAX)列中插入166本整本书。

那地方够你用吗?: -)

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

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

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

MSDN文档

nvarchar [(n | 马克斯)]

可变长Unicode字符串数据。n定义了字符串长度,可以是1到4000之间的值。马克斯表示最大存储大小为2^31-1字节(2 GB)。 存储大小(以字节为单位)是实际输入数据长度的两倍+ 2字节

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