2010-11-24 18 views

Antwort

149

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

Unter Verwendung der anderen detaillierteren Zahlen Antwort, sollten Sie in der Lage sein

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

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

in Ihrer NVARCHAR(MAX) Spalte zu speichern (leider, dass im letzten halben Charakter verschwendet ...)

+1

Wow ... also ich denke, ich brauche mir keine Gedanken darüber zu machen, eine Validierungsregel für die maximale Größe zu setzen. Ich sollte besser vorsichtig sein, wenn ich den nvarchar (MAX) benutze. – quakkels

+18

@quakkels: es sei denn, Sie planen, Tolstoi 'Krieg und Frieden (ca. 3,1 Millionen Zeichen) fast 350 mal zu übersteigen - nein, Sie müssen sich nicht um Kapazität kümmern :-) Und da es ein VARCHAR/NVARCHAR-Typ ist wird immer nur so viel Platz verbrauchen wie nötig - keine Sorge um verschwendeten oder unnötig reservierten Platz ... –

+2

wirklich? Das ist cool. Nur aus Neugier, in welchem ​​Fall möchten Sie nicht nvarchar (MAX) verwenden? – quakkels

4

2^31-1 Bytes. Also, etwas weniger als 2^31-1 Zeichen für varchar (max) und die Hälfte für nvarchar (max).

nchar and nvarchar

11

Von char and varchar (Transact-SQL)

varchar [(n | max)]

Variable-le ngth, Nicht-Unicode-Zeichen Daten. n kann ein Wert von 1 bis 8.000 sein. max zeigt an, dass die maximale Speichergröße 2^31-1 Byte ist. Die Speichergröße ist die tatsächliche Länge der eingegebenen Daten + 2 Bytes. Die eingegebenen Daten können 0 Zeichen lang sein. Die ISO-Synonyme für Varchar sind char variierende oder Zeichenvariable.

Verwandte Themen