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

Was ist die maximale Anzahl von Zeichen, die nvarchar(MAX) aufnehmen kann?

max. Kapazität beträgt 2 Gigabyte Speicherplatz - Sie sehen also etwas mehr als 1 Milliarde 2-Byte-Zeichen, die in ein NVARCHAR(MAX) passen Feld.

Mit den detaillierteren Nummern der anderen Antwort sollten Sie speichern können

(2 ^ 31 - 1 - 2) / 2 = 1'073'741'822 double-byte characters

1 billion, 73 million, 741 thousand and 822 characters to be precise

in Ihrem NVARCHAR(MAX) Spalte (leider ist das letzte halbe Zeichen verschwendet...)

Aktualisierung: Wie @MartinMulder betonte:Jede Zeichenspalte mit variabler Länge hat auch einen 2-Byte-Overhead zum Speichern der tatsächlichen Länge - also musste ich zwei weitere Bytes von 2 ^ 31 - 1 subtrahieren Länge, die ich zuvor festgelegt hatte - Sie können also 1 Unicode-Zeichen weniger speichern, als ich zuvor behauptet hatte.