Search This Blog

Friday, February 11, 2011

Para que sirve la N en SQL Server

Hace poco tuve la oportunidad de asistir a una conferencia sobre SQL Server y BI, quería ver si quizá había algo nuevo para ver y/o aprender, durante el proceso de la misma, el speaker usaba con mucha frecuencia los asistentes de consultas, el asistente siempre anteponía la letra N a las cadenas de texto, de la siguiente manera (Ejemplo)

Ejemplo de codigo
  1. Select * from CM_Bitacora
  2. where observaciones = N'Prueba 2'

Recuerdo que un asistente pregunto el porque de la letra N en las consultas, la respuesta por parte del speaker me pareció la verdad un poco injusta, ya que al no saber, prefirió asegurar que esto era un Best Practice de diseño de consultas.

Pues no, la letra N no se trata de un Best Practice para diseño de consultas en TSQL, la letra N corresponde a un “CAST”, muchas personas me han preguntado la diferencia entre VARCHAR y NVARCHAR, bien, la diferencia entre estos 2 tipos de datos es la misma diferencia que hay entre usar la N o no usarla.

Varchar equivale a Variable-Lenght Character String, es decir, una cadena de caracteres de tamaño variable.

NVARCHAR, no es mas que un VARCHAR Unicode, es decir, un VARCHAR que soporta caracteres de 2 bytes, la idea de este tipo de datos es el poder soportar caracteres que no hacen parte del idioma ingles, como por ejemplo, querer guardar nombres en Ingles y en Japonés, o en Mandarín…

En conclusión, la letra N que se antepone a las cadenas de caracteres, simplemente convierten la cadena en UNICODE (Estándar de la industria)

Unicode permite garantizar el estándar de escritura, ya que en Unicode existe una representación numérica única para cada carácter.

Para saber mas acerca de Unicode visita http://es.wikipedia.org/wiki/Unicode

6 comments:

Diego Cáceres said...

Buen dato John ese tipo de cosas mejoran el diseño de un modelo.

paos said...

Entonces si es una mejor practica anteponer la N'???

Hamlet Méndez said...

Muchas gracias, hace mucho que estaba buscando una explicación lógica sobre el tema y al igual que a ti, no me daban un explicación que me terminara de aclarar las cosas. Con esto me que queda más que claro el porqué y cuando usar cada variable.

Martin Delgado said...

es cierto.
muchas gracias por compartir la información.
aqui dejo una captura si alguien tiene dudas:
https://drive.google.com/open?id=1EofPCQebxr-mW2ZuBMSdLCripgOkOPZw

Manuel Pérez Deveaux said...

excelente, ahora fue que N'comprendí'

Creando mi Blog said...

¡Gracias, por el dato!

LinkWithin

Related Posts Plugin for WordPress, Blogger...