SQL Server 2000 中 varchar(max) 的最大大小
我想知道 SQL Server 2000 中 varchar
的最大大小是多少。当我在谷歌搜索某处时,它被写入了 8000 个字符,而在某个地方它被写入了 8060 字节。哪一个是正确的?
I would like to know what is the maximum size of varchar
in SQL Server 2000. While I was googling somewhere it was written 8000 characters and somewhere it was written 8060 bytes. Which one is correct?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Varchar 是 8000,nvarchar 是 4000。
这是 varchar msdn 参考:
http://msdn.microsoft.com/en-us/库/aa258242(SQL.80).aspx
Varchar is 8000 and nvarchar is 4000.
Here's the varchar msdn reference:
http://msdn.microsoft.com/en-us/library/aa258242(SQL.80).aspx
SQL Server 数据页有 8k:8192 字节。其中一部分保留给页眉,单行可以拥有的最大长度为 8060 字节。在一行中,varbinary(n)、varchar(n) 和 nvarchar(n) 类型不能超过 8000 个字节,这意味着 varchar(8000) 是最大 Ascii 长度,nvarchar(4000) 是最大 Unicode 长度(因为 Unicode每个字符存储在 2 个字节上)。
所有这些细节的最佳解释来自 存储引擎内部:页面剖析。
A SQL Server data page has 8k: 8192 bytes. From this a portion is reserved for the page header, leaving 8060 bytes the maximum lnegth a single row can have. In a row, the varbinary(n), varchar(n) and nvarchar(n) types cannot exceed 8000 bytes, which means that varchar(8000) is the maximum Ascii length and nvarchar(4000) is the maximum Unicode length (since Unicode stores each character on 2 bytes).
The best explanation of all these details comes from Inside the Storage Engine: Anatomy of a page.
据我记得是8000个字符。
对于 Nvarchar 来说是 4000。
As far as I remember it is 8000 Chars.
For Nvarchar it is 4000.
varchar(max) 的最大大小很大(我认为是 2GB 或 2Gchars)。可以为 varchar(n) 中的 n 指定的最大值为 8000,对于 nvarchar 为 4000。
The maximum size of varchar(max) is large (2GB or 2Gchars, I think). The maximum value you can specify for n in varchar(n) is 8000, and for nvarchar it's 4000.