Answers:
最高 容量是2 GB的空间-因此,您正在寻找将要适合一个NVARCHAR(MAX)
字段的超过10亿个2字节字符。
使用其他答案的更详细数字,您应该可以存储
(2 ^ 31 - 1 - 2) / 2 = 1'073'741'822 double-byte characters
1 billion, 73 million, 741 thousand and 822 characters to be precise
在您的NVARCHAR(MAX)
专栏中(不幸的是,最后一半字符被浪费了...)
更新: @MartinMulder指出:任何可变长度字符列也有2字节的开销来存储实际长度-所以我需要从之前指定的2 ^ 31 - 1
长度中减去另外两个字节-因此,您可以存储少于1个Unicode字符我以前声称过。
VARCHAR(MAX)
如果您不需要亚洲,阿拉伯或西里尔语言的2字节支持,请使用。使用(N)VARCHAR(x)
,如果你知道一个字符串,决不会比X个字符(不使用NVARCHAR(MAX)
一个名字-使用NVARCHAR(50)
或任何对你有意义)
varchar [(n | max)]
可变长度的非Unicode字符数据。n可以是1到8,000之间的值。max表示最大存储大小为2 ^ 31-1字节。存储大小是输入的数据的实际长度+ 2个字节。输入的数据长度可以为0个字符。varchar的ISO同义词是char变化或字符变化。
2 ^ 31-1个字节。因此,varchar(max)的字符数少于2 ^ 31-1,nvarchar(max)的字符数少于一半。