当数据类型为VARCHAR(MAX)时,SQL Server 2008数据库字段可以包含多少个字符?
答案 0 :(得分:50)
来自http://msdn.microsoft.com/en-us/library/ms176089.aspx
varchar [(n | max)] 可变长度,非Unicode字符 数据。 n可以是1到1之间的值 8000。 max表示最大值 存储大小为2 ^ 31-1个字节。该 存储大小是实际长度 输入的数据+ 2个字节。数据 输入的长度可以是0个字符。 varchar的ISO同义词是char 变化或性格变化。
1个字符= 1个字节。并且不要忘记终止的2个字节。所以,2 ^ 31-3个字符。
答案 1 :(得分:15)
对于需要快速解答的未来读者:
2 ^ 31-1 = 2.147.483.647个字符
答案 2 :(得分:7)
请参阅MSDN reference table for maximum numbers/sizes。
每个varchar的字节数(最大值), varbinary(max),xml,text或image 栏:2 ^ 31-1
该列有两个字节的开销,因此实际数据的长度为2 ^ 31-3个最大字节。假设您使用的是单字节字符编码,则总共为2 ^ 31-3个字符。 (如果您使用的字符编码每个字符使用多个字节,则除以每个字符的总字节数。如果您使用的是可变长度字符编码,则所有投注均已关闭。)
答案 3 :(得分:0)
有几个问题值得一提——你可能需要强制使用 varchar(max)
并且打印仅处理 8000 个字符