char
, varchar
, nchar
, nvarchar
en realidad son cadenas
el size
ayuda a determinar la longitud de la cadena...
por cierto
char
tiene una longitud fija, por lo que si desea tener "1"
en un char(2)
el contenido será real "1 "
varchar(2)
será "1"
el n
parte significa Unicode, por lo que todo lo que se encuentre dentro de esos campos estará en Unicode.
normalmente usamos nvarchar
para ahorrar algo de espacio en los datos, como si tuviera un char(250)
la base de datos siempre guardará la longitud completa, como un varchar(250)
vacío será nada.
En nuestro lenguaje de programación usamos padding para hacer lo que char
hace, por ejemplo, en C#
"1".PadLeft(2);
"1".PadRight(2);
generará " 1"
y "1 "
respectivamente.