char , varchar , nchar , nvarchar всъщност са низове
size помага да се определи колко е дълъг низът...
между другото
char има фиксирана дължина, така че ако искате да имате "1" в char(2) съдържанието ще бъде действително "1 "
varchar(2) ще бъде "1"
n part означава unicode, така че всичко в тези полета ще бъде в Unicode.
нормално използваме nvarchar за да спестите малко място в данните, сякаш имате char(250) базата данни винаги ще записва пълната дължина като празен varchar(250) няма да е нищо.
В нашия език за програмиране след това използваме подложка, за да направим това, което char прави, например, в C#
"1".PadLeft(2);
"1".PadRight(2);
ще изведе " 1" и "1 " съответно.