varchar(max)中有多less个字符

当数据types为VARCHAR(MAX)时,SQL Server 2008数据库字段可以包含多less个字符?

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

varchar [(n | max)]可变长度的非Unicode字符数据。 n可以是从1到8,000的值。 max表示最大存储容量为2 ^ 31-1字节。 存储大小是input数据的实际长度+ 2个字节。 input的数据长度可以是0个字符。 varchar的ISO同义词是charvariables或字符变化。

1个字符= 1个字节。 不要忘记2个字节的终止。 所以,2 ^ 31-3个字符。

请参阅MSDN参考表以了解最大数量/大小 。

每个varchar(max),varbinary(max),xml,text或image列的字节数:2 ^ 31-1

这个列有两个字节的开销,所以实际的数据长度是2 ^ 31-3个最大字节。 假设您使用的是单字节字符编码,那么总共是2 ^ 31-3个字符。 (如果您使用的字符编码使用每个字符多于一个字节,请除以每个字符的总字节数。如果您使用可变长度字符编码,则所有投注均closures。