Eu sou novo no conceito nvarchar(MAX)
. Quantos personagens ele comporta?
fonte
Eu sou novo no conceito nvarchar(MAX)
. Quantos personagens ele comporta?
Máx. a capacidade é de 2 gigabytes de espaço - então você está olhando para pouco mais de 1 bilhão de caracteres de 2 bytes que cabem em um NVARCHAR(MAX)
campo.
Usando os números mais detalhados da outra resposta, você deve ser capaz de armazenar
(2 ^ 31 - 1 - 2) / 2 = 1'073'741'822 double-byte characters
1 billion, 73 million, 741 thousand and 822 characters to be precise
em sua NVARCHAR(MAX)
coluna (infelizmente, a última metade do caractere foi perdida ...)
Atualização: como @MartinMulder apontou: qualquer coluna de caracteres de comprimento variável também tem uma sobrecarga de 2 bytes para armazenar o comprimento real - então eu precisei subtrair mais dois bytes do 2 ^ 31 - 1
comprimento que eu estipulei anteriormente - assim você pode armazenar 1 caractere Unicode menor que Eu havia reivindicado antes.
VARCHAR(MAX)
, se não precisar do suporte de 2 bytes para idiomas asiáticos, árabes ou cirílicos. Use(N)VARCHAR(x)
se você souber que uma string nunca terá mais do que x caracteres (não useNVARCHAR(MAX)
como primeiro nome - useNVARCHAR(50)
ou o que quer que faça sentido para você)De char e varchar (Transact-SQL)
fonte
2 ^ 31-1 bytes. Portanto, um pouco menos de 2 ^ 31-1 caracteres para varchar (max) e metade disso para nvarchar (max).
nchar e nvarchar
fonte