Soy nuevo en el concepto nvarchar(MAX)
. ¿Cuántos personajes contendrá?
fuente
Soy nuevo en el concepto nvarchar(MAX)
. ¿Cuántos personajes contendrá?
Max. la capacidad es de 2 gigabytes de espacio, por lo que está viendo poco más de mil millones de caracteres de 2 bytes que caben en un NVARCHAR(MAX)
campo.
Usando los números más detallados de la otra respuesta, debería poder almacenar
(2 ^ 31 - 1 - 2) / 2 = 1'073'741'822 double-byte characters
1 billion, 73 million, 741 thousand and 822 characters to be precise
en su NVARCHAR(MAX)
columna (desafortunadamente, ese último medio carácter se desperdicia ...)
Actualización: como señaló @MartinMulder: cualquier columna de caracteres de longitud variable también tiene una sobrecarga de 2 bytes para almacenar la longitud real, por lo que necesitaba restar dos bytes más de la 2 ^ 31 - 1
longitud que había estipulado anteriormente, por lo que puede almacenar 1 carácter Unicode menos de Lo había reclamado antes.
VARCHAR(MAX)
, si no necesita el soporte de 2 bytes para idiomas asiáticos, árabes o cirílicos. Uso(N)VARCHAR(x)
si sabes una cadena nunca será más largo que caracteres x (no utilizarNVARCHAR(MAX)
un nombre - el usoNVARCHAR(50)
o lo que tenga sentido para usted)De char y varchar (Transact-SQL)
fuente
2 ^ 31-1 bytes. Entonces, un poco menos de 2 ^ 31-1 caracteres para varchar (max) y la mitad para nvarchar (max).
nchar y nvarchar
fuente