varchar(max) 有多少个字符?

发布于 2024-08-11 10:44:15 字数 60 浏览 5 评论 0原文

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

How many characters can a SQL Server 2008 database field contain when the data type is VARCHAR(MAX)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

み零 2024-08-18 10:44:15

对于未来快速需要这个答案的读者:

2^31-1 = 2 147 483 647 个字符,大约 21.47 亿个

For future readers who need this answer quickly:

2^31-1 = 2 147 483 647 characters, or roughly 2.147 billion

青瓷清茶倾城歌 2024-08-18 10:44:15

来自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 个字符。

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

varchar [ ( n | max ) ]
Variable-length, non-Unicode character
data. n can be a value from 1 through
8,000. max indicates that the maximum
storage size is 2^31-1 bytes. The
storage size is the actual length of
data entered + 2 bytes. The data
entered can be 0 characters in length.
The ISO synonyms for varchar are char
varying or character varying.

1 character = 1 byte. And don't forget 2 bytes for the termination. So, 2^31-3 characters.

清风不识月 2024-08-18 10:44:15

请参阅MSDN 参考表了解最大数量/大小

每个 varchar 的字节数(最大),
varbinary(max)、xml、文本或图像
列:2^31-1

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

See the MSDN reference table for maximum numbers/sizes.

Bytes per varchar(max),
varbinary(max), xml, text, or image
column: 2^31-1

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.)

三生路 2024-08-18 10:44:15

有一些问题值得一提 - 您可能需要强制使用 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?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文