2009-11-19 35 views

risposta

49

Da http://msdn.microsoft.com/en-us/library/ms176089.aspx

varchar [(n | max)] lunghezza variabile, non Unicode caratteri dati. n può essere un valore compreso tra 1 e 8.000. max indica che la dimensione massima dello storage è 2^31-1 byte. La dimensione di archiviazione corrisponde alla lunghezza effettiva di dati immessi + 2 byte. I dati immessi possono avere una lunghezza di 0 caratteri. I sinonimi ISO per varchar sono char variabili o di carattere variabile.

1 carattere = 1 byte. E non dimenticare 2 byte per la terminazione. Quindi, 2^31-3 caratteri.

+8

Tecnicamente, 1 carattere = 1 byte solo per alcune codifiche di caratteri. – Amber

+1

Ah vero. Le stringhe DBCS, ad es., Ti darebbero meno. Quindi, fai attenzione. –

+0

@Dav, sì, questa era una delle mie considerazioni. Tuttavia, a causa del numero di byte disponibili, questo soddisferà le mie esigenze per questo scenario. – Russell

7

Vedere MSDN reference table for maximum numbers/sizes.

Byte per varchar (max), varbinary (max), XML, testo, o l'immagine colonna: 2^31-1

C'è un sovraccarico di due byte per la colonna, in modo da i dati effettivi sono 2^31-3 byte massimi di lunghezza. Supponendo che tu stia usando una codifica di caratteri a byte singolo, sono 2^31-3 caratteri in totale. (Se utilizzi una codifica di caratteri che utilizza più di un byte per carattere, dividi per il numero totale di byte per carattere. Se utilizzi una codifica di caratteri a lunghezza variabile, tutte le scommesse sono disattivate.)

7

per i lettori futuri che hanno bisogno di questa risposta in fretta:

2^31-1 = 2.147.483.647 caratteri

Problemi correlati