繁体   English   中英

SQL Server varchar(max)中的字符数?

[英]Number of Characters in SQL Server varchar(max)?

Microsoft关于varchar(max)数据类型的文档:

“可变长度的非Unicode字符串数据..max表示最大存储大小为2 ^ 31-1字节(2 GB) 。存储大小是输入数据的实际长度+ 2字节”

http://technet.microsoft.com/en-us/library/ms176089.aspx

我认为2 ^ 31字节= 2 GB,而不是2 ^ 31-1字节= 2 GB。 我在这点上错了吗?

其中两个字节被保留用于列开销,因此问题变为:

数据类型将存储多少个字符?
a)2 ^ 31-3 = 2,147,483,645字节= 2,147,483,645个字符
b)2 ^ 31-2 = 2,147,483,646字节= 2,147,483,646个字符

数字2 ^ 31-1以十六进制表示为0x7fffffff。 它是二进制兼容机器(例如x86以及几乎所有其他机器)上最大可能的正32位数字。

该文档告诉您这是最大存储大小,必须容纳数据长度加上2个字节。 这意味着最大数据大小为2 ^ 31-1-2或2,147,483,645(0x7FFFFFFD)。

暂无
暂无

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

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