Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Quel est le nombre maximum de caractères que nvarchar(MAX) contiendra ?

Max. la capacité est de 2 gigaoctets d'espace - vous avez donc un peu plus d'un milliard de caractères de 2 octets qui tiendront dans un NVARCHAR(MAX) champ.

En utilisant les chiffres plus détaillés de l'autre réponse, vous devriez pouvoir stocker

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

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

dans votre NVARCHAR(MAX) colonne (malheureusement, ce dernier demi-caractère est perdu...)

Mise à jour : comme @MartinMulder l'a souligné:toute colonne de caractères de longueur variable a également une surcharge de 2 octets pour stocker la longueur réelle - j'ai donc dû soustraire deux octets supplémentaires du 2 ^ 31 - 1 longueur que j'avais précédemment stipulée - vous pouvez donc stocker 1 caractère Unicode de moins que ce que j'avais revendiqué auparavant.