In diesem Microsoft-Dokument ist +
n definiert die Stringlänge und kann einen Wert von 1 bis 8.000 annehmen. max gibt an, dass die maximale Speichergröße 2 ^ 31-1 Byte (2 GB) beträgt. Die Speichergröße ist die tatsächliche Länge der eingegebenen Daten + 2 Bytes.
Bitte helfen Sie mir, das zu verstehen.
Die maximale Zeichenanzahl für varchar scheint zu sein 8000, was weit weniger als 2GBWert von Daten ist.
Ich sehe, dass es in dieser varchar(max)Spalte einer bestimmten Tabelle Datensätze gibt , die len(mycolumn)> 100 000 haben. Somit weiß ich, dass ich weit mehr als 8000Zeichen in eine varchar(max)Spalte bekommen kann.
Frage 1: Wie 8000kommen die Charaktere ins Spiel und wo sollte ich darauf achten?
Frage 2 : Gibt eine .net-Daten-Reader-Abfrage zu dieser Spalte immer das vollständige Ergebnis mit mehr als 100.000 Zeichen zurück?
varchar(max)das einmal aufgerufen wurdetextund als ein anderer Datentyp behandelt wurde.