Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Qual è il numero massimo di caratteri che nvarchar(MAX) conterrà?

Massimo la capacità è di 2 gigabyte di spazio, quindi stai guardando poco più di 1 miliardo di caratteri da 2 byte che si adatteranno a un NVARCHAR(MAX) campo.

Utilizzando i numeri più dettagliati dell'altra risposta, dovresti essere in grado di memorizzare

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

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

nel tuo NVARCHAR(MAX) colonna (purtroppo l'ultima metà del carattere è sprecata...)

Aggiornamento: come ha sottolineato @MartinMulder:qualsiasi colonna di caratteri di lunghezza variabile ha anche un sovraccarico di 2 byte per la memorizzazione della lunghezza effettiva, quindi dovevo sottrarre altri due byte da 2 ^ 31 - 1 lunghezza che avevo stabilito in precedenza, quindi puoi memorizzare 1 carattere Unicode in meno di quanto avessi affermato prima.