char , varchar , nchar , nvarchar är faktiskt strängar
size hjälper till att avgöra hur lång strängen är...
förresten
char har en fast längd, så om du vill ha "1" i en char(2) innehållet kommer att vara verkligt "1 "
varchar(2) kommer att vara "1"
n del står för unicode, så allt i dessa fält kommer att finnas i Unicode.
normalt vi använder nvarchar för att spara lite utrymme på data, som om du har en char(250) databasen kommer alltid att spara hela längden, som en tom varchar(250) blir ingenting.
I vårt programmeringsspråk använder vi sedan padding för att göra vad som char gör till exempel i C#
"1".PadLeft(2);
"1".PadRight(2);
kommer att mata ut " 1" och "1 " respektive.