varchar中有多少个字符(最大)

时间:2009-11-19 05:37:52

标签: sql-server-2008 size varchar

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

4 个答案:

答案 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)

https://dba.stackexchange.com/questions/18483/varcharmax-field-cutting-off-data-after-8000-characters

并且打印仅处理 8000 个字符

How to print VARCHAR(MAX) using Print Statement?