Max size of varchar(max) in SQL Server 2000

2019-04-19 12:54发布

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?

4条回答
你好瞎i
2楼-- · 2019-04-19 13:11

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.

查看更多
做个烂人
3楼-- · 2019-04-19 13:15

Varchar is 8000 and nvarchar is 4000.

Here's the varchar msdn reference:
http://msdn.microsoft.com/en-us/library/aa258242(SQL.80).aspx

查看更多
Juvenile、少年°
4楼-- · 2019-04-19 13:15

As far as I remember it is 8000 Chars.

For Nvarchar it is 4000.

查看更多
闹够了就滚
5楼-- · 2019-04-19 13:20

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.

查看更多
登录 后发表回答