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

时间:2012-06-21 05:24:24

标签: sql-server sql-server-2008 sql-server-2005

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

4 个答案:

答案 0 :(得分:330)

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

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

Leo Tolstoj的战争与和平是一本1 440页的书,包含大约600和3900个单词 - 所以可能是600万个字符 - 很好地四舍五入。因此,您可以在整个NVARCHAR(MAX)列中粘贴166份完整的 War and Peace 书。

这是否足以满足您的需求? : - )

答案 1 :(得分:48)

  

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

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

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

答案 2 :(得分:7)

来自MSDN Documentation

  

nvarchar [(n | max )]

     

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

答案 3 :(得分:4)

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