¿Cuál es el número máximo de caracteres que tendrá nvarchar(MAX)?


Soy nuevo en el concepto nvarchar(MAX). ¿Cuántos caracteres tendrá?

Author: Scott Weldon, 2010-11-24

3 answers

Máx. la capacidad es de 2 gigabytes de espacio, por lo que estás viendo algo más de 1 mil millones de caracteres de 2 bytes que encajarán en un campo NVARCHAR(MAX).

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 columna NVARCHAR(MAX) (desafortunadamente, ese carácter de la última mitad se pierde...)

Actualización: como @ MartinMulder señaló: cualquier columna de caracteres de longitud variable también tiene una sobrecarga de 2 bytes para almacenar la longitud real, así que necesitaba reste dos bytes más de la longitud 2 ^ 31 - 1 que había estipulado anteriormente, por lo que puede almacenar 1 carácter Unicode menos de lo que había reclamado antes.

 151
Author: marc_s,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-19 16:00:14

De char y varchar (Transact-SQL)

Varchar [ ( n | max)]

Longitud variable, carácter no Unicode datos. n puede ser un valor desde 1 hasta 8,000. max indica que el el tamaño máximo de almacenamiento es de 2^31-1 bytes. El tamaño de almacenamiento es la longitud real de datos introducidos + 2 bytes. Los datos se puede introducir 0 caracteres de longitud. Los sinónimos ISO de varchar son char variable o carácter variable.

 11
Author: Adriaan Stander,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-24 18:07:42

2^31-1 bytes. Por lo tanto, un poco menos de 2^31-1 caracteres para varchar(max) y la mitad de que para nvarchar(max).

Nchar y nvarchar

 4
Author: Thomas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-24 18:07:22