varchar
не может содержать символы Unicode, поэтому n
в varchar(n)
означает как количество символов, так и количество байтов. В случае nvarchar(n)
n
означает количество символов Unicode с размером хранилища, в два раза превышающим n
байт.
Если вы запросите information_schema.columns
, будут, среди прочего, два интересующих вас столбца: CHARACTER_MAXIMUM_LENGTH
и CHARACTER_OCTET_LENGTH
. Первый содержит количество символов, а второй - количество байтов.