Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

perché varchar(max) non memorizza dati superiori a 8000 caratteri

Stai troncando i dati a 8000 byte prima di inserirli. Per creare un valore più lungo di 8000 caratteri devi utilizzare il tipo di dati varchar(max), mentre il tipo di 'a' è solo varchar.

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

select len(name) from test;