当数据类型为VARCHAR(MAX)时,SQL Server 2008数据库字段可以容纳多少个字符?
针对需要快速得到答案的读者:
2^31-1 = 2,147,483,647个字符,大约为21.47亿
来自 http://msdn.microsoft.com/en-us/library/ms176089.aspx
varchar [ ( n | max ) ] 可变长度非 Unicode 字符数据。n 的取值范围为 1 到 8,000。max 表示最大存储大小为 2^31-1 字节。存储大小为输入数据的实际长度 + 2 字节。输入的数据可以是长度为 0 的字符。ISO 的同义词为 char varying 或 character varying。
1 个字符 = 1 个字节。不要忘记加上 2 个字节的终止符。因此,最多可容纳 2^31-3 个字符。
2.1 x 10^9
中的一半。 - 千里ちゃん每个varchar(max),varbinary(max),xml,text或image列的字节数:2 ^ 31-1
该列有两个字节的开销,因此实际数据的最大长度为2 ^ 31-3字节。假设您使用单字节字符编码,则总共有2 ^ 31-3个字符。(如果您使用的字符编码每个字符使用多个字节,请除以每个字符的总字节数。如果您使用的是可变长度的字符编码,则所有押注都无效。)
有一些值得提及的坑点 - 你可能需要强制使用varchar(max)
并且print语句只能处理8000个字符