web-dev-qa-db-fra.com

Quel est le nombre maximum de caractères pour NVARCHAR (MAX)?

J'ai déclaré une colonne de type NVARCHAR(MAX) dans SQL Server 2008, quels seraient exactement ses caractères maximum ayant le MAX comme longueur?

170
Jerameel Resco

La taille maximale d'une colonne de type NVARCHAR(MAX) est de 2 Go de stockage.

Puisque NVARCHAR utilise 2 octets par caractère, cela correspond à env. 1 milliard de caractères.

Guerre et paix de Leo Tolstoj est un livre de 1 440 pages, contenant environ 600 000 mots, de sorte qu'il pourrait s'agir de 6 millions de caractères. Ainsi, vous pourriez coller environ 166 exemplaires du livre entier dans le livre War and Peace dans chaque colonne NVARCHAR(MAX).

Est-ce assez d'espace pour vos besoins? :-)

342
marc_s

Par défaut, les valeurs nvarchar (MAX) sont stockées exactement de la même façon que les valeurs nvarchar (4000), à moins que la longueur réelle ne dépasse 4 000 caractères. dans ce cas, les données en ligne sont remplacées par un pointeur sur une ou plusieurs pages séparées où les données sont stockées.

Si vous prévoyez des données pouvant dépasser 4 000 caractères, nvarchar (MAX) est définitivement le choix recommandé.

Source: https://social.msdn.Microsoft.com/Forums/en-US/databasedesign/thread/d5e0c6e5-8e44-4ad5-9591-20dc0ac7a870/

50
Madushan

De documentation MSDN

nvarchar [(n | max )]

Données de chaîne Unicode de longueur variable. n définit la longueur de la chaîne et peut être une valeur de 1 à 4 000. max indique que la taille de stockage maximale est de 2 ^ 31-1 octets (2 Go). La taille de stockage, en octets, est deux fois la longueur réelle des données entrées + 2 octets.

7
JiNish

Je pense qu'en fait nvarchar(MAX) peut stocker environ 1070000000 caractères.