NVARCHAR(MAX) 的最大字符数是多少? [重复]

问题描述 投票:0回答:4

我在 SQL Server 2008 中声明了一个类型为

NVARCHAR(MAX)
的列,以 MAX 为长度时,它的确切最大字符数是多少?

sql-server sql-server-2008 sql-server-2005
4个回答
609
投票

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

由于

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

列夫·托尔斯泰 (Leo Tolstoj) 的《战争与和平》是一本 1,440 页的书,包含约 600,000 个单词 - 因此可能有 600 万个字符 - 经过四舍五入。因此,您可以将整本《战争与和平》书的大约 166 册粘贴到每个 NVARCHAR(MAX) 列中。 这个空间足够满足您的需求吗? :-)

    

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

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

来自

MSDN 文档

15
投票

nvarchar

[ ( n |
max

) ] 可变长度 Unicode 字符串数据。 n 定义字符串长度,可以是 1 到 4,000 之间的值。

max

表示最大存储大小为2^31-1字节(2GB)。 存储大小,以字节为单位,是输入数据实际长度的两倍+2字节

我认为实际上
nvarchar(MAX)

14
投票


© www.soinside.com 2019 - 2024. All rights reserved.