Diferencias de tipos de datos de SQL Server para cadenas

Me pregunto sobre la diferencia entre los diferentes tipos de datos en SQL Server para almacenar cadenas.

Por ejemplo: ntext, nvarchar(X), varchar, nvarchar(max) etc.

¿Cuáles podrían ser los consejos en términos de flexibilidad, uso de recursos y rendimiento?

preguntado el 31 de julio de 12 a las 10:07

Lea esta pregunta ya respondida aquí para mayor claridad.stackoverflow.com/questions/4187677/… -

3 Respuestas

  • Todos los tipos de cadenas N están Unicode - 2 bytes para cada carácter, almacenará cosas como alfabetos cirílico, asiático, árabe, hebreo, mientras que aquellos sin el encabezado N no son unicode (solo almacenan correctamente caracteres de Europa occidental / ASCII)

  • TEXT y NTEXT están en desuso - no los use más - use (N)VARCHAR(MAX) en su lugar - ver el documentación relevante de MSDN sobre ese tema para conocer más detalles.

  • NVARCHAR(X) es una cadena "normal", máx. de 8000 bytes de datos (4000 Unicode u 8000 caracteres no Unicode) - almacenados en la página normal en SQL Server

  • NVARCHAR(MAX) es un tipo especial, hasta 2 GB de almacenamiento (mil millones de caracteres Unicode), pero requiere un manejo especial en el almacenamiento, se necesita más esfuerzo, funciona un poco más lento que las cadenas regulares; usar , solamente cuando es absolutamente necesario

Respondido 31 Jul 12, 10:07

consulte el siguiente enlace para ver la diferencia entre nvarchar y varchar y luego elija el mejor para usted

¿Cuál es la diferencia entre varchar y nvarchar?

contestado el 23 de mayo de 17 a las 11:05

Para letras inglesas normales, use varchar y para cualquier otro idioma y caracteres extranjeros use nvarchar. varchar usa 1 byte por carácter para almacenar y nvarchar usa 2 bytes por carácter.

Respondido 31 Jul 12, 11:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.