Максимальный размер varchar (max) в SQL Server 2000 - PullRequest
13 голосов
/ 16 января 2010

Я хотел бы знать, каков максимальный размер varchar в SQL Server 2000. Когда я где-то гуглял, было написано 8000 символов, а где-то 8060 байт. Какой из них правильный?

Ответы [ 4 ]

24 голосов
/ 16 января 2010

Varchar - 8000, nvarchar - 4000.

Вот ссылка varchar msdn:
http://msdn.microsoft.com/en-us/library/aa258242(SQL.80).aspx

11 голосов
/ 16 января 2010

Страница данных SQL Server имеет 8 КБ: 8192 байта.Из этого часть зарезервирована для заголовка страницы, оставляя 8060 байт максимально возможной длины, которую может иметь одна строка.В строке типы varbinary (n), varchar (n) и nvarchar (n) не могут превышать 8000 байт, что означает, что varchar (8000) - это максимальная длина Ascii, а nvarchar (4000) - максимальная длина Unicode (поскольку Unicodeсохраняет каждый символ по 2 байта).

Лучшее объяснение всех этих подробностей можно найти в Внутри механизма хранения: анатомия страницы .

2 голосов
/ 16 января 2010

Максимальный размер varchar (max) велик (я думаю, 2GB или 2Gchars).Максимальное значение, которое вы можете указать для n в varchar (n), равно 8000, а для nvarchar - 4000.

2 голосов
/ 16 января 2010

Насколько я помню, это 8000 символов.

Для Nvarchar это 4000.

...