繁体   English   中英

nvarchar(MAX)将保留的最大字符数是多少?

[英]What is the maximum number of characters that nvarchar(MAX) will hold?

我是概念nvarchar(MAX)新手。 它会包含多少个字符?

最大。 容量是2千兆字节的空间 - 因此您正在查看超过10亿个2字节字符,这些字符将适合NVARCHAR(MAX)字段。

使用其他答案更详细的数字,您应该能够存储

(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 31-1长度中减去两个以上的字节 - 因此你可以存储1个Unicode字符比我之前声称的少。

来自char和varchar(Transact-SQL)

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)的字符的一半。

nchar和nvarchar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM