sql >> Base de Datos >  >> RDS >> Sqlserver

por qué varchar (max) no almacena datos de más de 8000 caracteres

Está truncando los datos a 8000 bytes antes de insertarlos. Para crear un valor de más de 8000 caracteres, debe usar el tipo de datos varchar(max), mientras que el tipo de 'a' es solo varchar.

create table test(name varchar(max))
insert into test
values(replicate(CAST('a' AS varchar(MAX)), 100000));

select len(name) from test;