2009-11-19 140 views

回答

49

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

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

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

+8

从技术上讲,1个字符=仅适用于特定字符编码1个字节。 – Amber 2009-11-19 05:43:16

+1

真的。 DBCS字符串,例如,会减少你的数量。所以,小心那个。 – 2009-11-19 05:44:30

+0

@Dav,是的,这也是我的考虑之一。但是由于可用的字节数量,这将满足我对这种情况的需求。 – Russell 2009-11-19 05:44:45

7

查看MSDN reference table for maximum numbers/sizes

字节每VARCHAR(最大), VARBINARY(最大),XML,文本或图像 柱:2^31-1

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

7

对于谁很快就需要这样的回答未来的读者:

2^31-1 = 2.147.483.647字符

相关问题