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字节

posted @ 2011-10-14 15:30  edisonfeng  阅读(444)  评论(0编辑  收藏  举报