Sql Server中char、varchar、nvarchar对比
char: 定长,以字节为单位存储(主要可用于:防止行迁移)
eg: char(10) abc 存储空间10个字节,后面补空
varchar: 不定长,以字节为单位存储
eg: varchar(10) abc测试 存储空间3+(2+2)=7个字节,10表示最长能存储10个字节
nvarchar: 不定长,以字符为单位存储(按unicode字符进行存储)
eg: nvarchar(10) abc测试 存储空间5×2=10个字节,10表示最长能表示10个字符(20个字节)
注:a)对于长度经常变化的字符串字段,尽可能用char类型,否则容易造成行迁移
b)varchar类型,左侧空格保留,右侧空格自动去除
eg: ' testname' :存入varchar类型的列中,长度为 9字节
'testname ' :存入varchar类型的列中 , 长度为 8字节