char
, varchar
, nchar
, nvarchar
фактически являются строками
size
помогает определить, какова длина строки ...
кстати
char
имеет фиксированную длину, поэтому, если вы хотите иметь "1"
в char(2)
, содержимое будет актуальным "1 "
varchar(2)
будет "1"
часть n
означает Unicode, поэтому все внутри этих полей будет в Unicode.
обычно мы используемnvarchar
для экономии места в данных, как будто у вас есть char(250)
, база данных всегда будет сохранять полную длину, так как пустой varchar(250)
будет ничем.
На нашем языке программирования мы тогдаиспользуйте padding, чтобы сделать то, что char
делает, например, в C #
"1".PadLeft(2);
"1".PadRight(2);
будет выводить " 1"
и "1 "
соответственно.