Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

pourquoi varchar(max) ne stocke pas de données de plus de 8000 caractères

Vous tronquez les données à 8000 octets avant de les insérer. Pour créer une valeur de plus de 8000 caractères, vous devez utiliser le type de données varchar(max), alors que le type de 'a' est simplement varchar.

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

select len(name) from test;