Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

warum varchar(max) keine Daten mit mehr als 8000 Zeichen speichert

Sie kürzen die Daten auf 8000 Bytes, bevor Sie sie einfügen. Um einen Wert mit mehr als 8000 Zeichen zu erstellen, müssen Sie den Datentyp varchar(max) verwenden, während der Typ von 'a' nur varchar ist.

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

select len(name) from test;