Я хочу сохранить строку более 8000 символов, поэтому я использовал VARCHAR (MAX), потому что ее предел равен 2gb.Почему varchar (max) не хранит данные более 8000 charaters
, пожалуйста, исправьте меня, если я ошибаюсь. Varchar (max) хранит данные на страницах IN_ROW_DATA, если строка меньше или равна 8000. Если строка больше 8000, то она начинает хранить строку на страницах LOB_DATA и указатель хранится на страницах IN_ROW_DATA.
Мой код ниже не хранит строку длиной более 8000 символов.
create table test(name varchar(max))
insert into test
values(replicate('a',8001)
Select len(name) from test
- Это будет по-прежнему дают мне длину 8000, а не 8001. Так что в этом случае нет никакой разницы между VARCHAR (макс) и VARCHAR (8000).
Может кто-нибудь сказать мне, что я делаю неправильно, и как хранить строку более 8000 символов.
http://dba.stackexchange.com/questions/18483/varcharmax-field-cutting-off-data-after-8000-characters-sql-server-2008 –
Я надеюсь, что эта ссылка вам помочь [HTTP : //stackoverflow.com/questions/24041718/text-column-not-storing-more-than-8000-characters] (http://stackoverflow.com/questions/24041718/text-column-not-storing-more- чем 8000-х символов). –