Combien de caractères un champ de base de données SQL Server 2008 peut-il contenir lorsque le type de données est VARCHAR (MAX)?
De http://msdn.Microsoft.com/en-us/library/ms176089.aspx
varchar [(n | max)] Données de caractères de longueur variable, non Unicode. n peut être une valeur comprise entre 1 et 8 000. max indique que la taille de stockage maximale est de 2 ^ 31-1 octets. La taille de stockage est la longueur réelle des données entrées + 2 octets. Les données saisies peuvent avoir une longueur de 0 caractère. Les synonymes ISO de varchar varient en fonction des caractères ou des caractères.
1 caractère = 1 octet. Et n'oubliez pas 2 octets pour la terminaison. Donc, 2 ^ 31-3 caractères.
Pour les futurs lecteurs qui ont besoin de cette réponse rapidement:
2 ^ 31-1 = 2.147.483.647 caractères
Voir le tableau de référence MSDN pour les nombres/tailles maximum .
Octets par varchar (max), varbinary (max), xml, texte ou colonne d'image: 2 ^ 31-1
Il y a une surcharge de deux octets pour la colonne, donc les données réelles ont une longueur maximale de 2 ^ 31-3 octets. En supposant que vous utilisez un codage de caractères sur un octet, cela représente 2 ^ 31-3 caractères au total. (Si vous utilisez un codage de caractères qui utilise plus d'un octet par caractère, divisez par le nombre total d'octets par caractère. Si vous utilisez un codage de caractères de longueur variable, tous les paris sont désactivés.)