varchar(max) 有多少个字符?
当数据类型为 VARCHAR(MAX) 时,SQL Server 2008 数据库字段可以包含多少个字符?
How many characters can a SQL Server 2008 database field contain when the data type is VARCHAR(MAX)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
对于未来快速需要这个答案的读者:
For future readers who need this answer quickly:
来自http://msdn.microsoft.com/en-us/library/ms176089。 ASPX
1 个字符 = 1 个字节。并且不要忘记 2 个字节作为终止符。所以,2^31-3 个字符。
From http://msdn.microsoft.com/en-us/library/ms176089.aspx
1 character = 1 byte. And don't forget 2 bytes for the termination. So, 2^31-3 characters.
请参阅MSDN 参考表了解最大数量/大小。
该列有两个字节的开销,因此实际数据的最大长度为 2^31-3 字节。假设您使用单字节字符编码,则总共有 2^31-3 个字符。 (如果您使用的字符编码每个字符使用多个字节,请除以每个字符的总字节数。如果您使用的是可变长度字符编码,则一切皆废。)
See the MSDN reference table for maximum numbers/sizes.
There's a two-byte overhead for the column, so the actual data is 2^31-3 max bytes in length. Assuming you're using a single-byte character encoding, that's 2^31-3 characters total. (If you're using a character encoding that uses more than one byte per character, divide by the total number of bytes per character. If you're using a variable-length character encoding, all bets are off.)
有一些问题值得一提 - 您可能需要强制使用 varchar(max)
https://dba.stackexchange.com/questions/18483/varcharmax-field-cutting-off-data-after-8000-characters
和 print 仅处理 8000 个字符
如何使用打印语句打印VARCHAR(MAX)?
There are a few gotchas worth mentioning - you may need to force the use of varchar(max)
https://dba.stackexchange.com/questions/18483/varcharmax-field-cutting-off-data-after-8000-characters
and print only handles 8000 chars
How to print VARCHAR(MAX) using Print Statement?