char、varchar、nvarchar区别

做个实验,建一个student表,四个字段,全部分配相同的字节空间

create table student
(
id int,
name varchar(2),
gender char(2),
address nvarchar(2)
)

char、varchar、nvarchar区别_第1张图片

先测试varchar:
char、varchar、nvarchar区别_第2张图片

char、varchar、nvarchar区别_第3张图片

结论:可变长度,实际占用的空间与输入的字符长度有关,一个汉字占据两个字节,英文字母占据一个字节。比如varchar(10),最多存储5个汉字,10个字母。


接着测试nvarchar:
char、varchar、nvarchar区别_第4张图片
char、varchar、nvarchar区别_第5张图片
char、varchar、nvarchar区别_第6张图片
结论:可变长度,实际占用空间与输入的字符长度有关,一个汉字占据一个字节,英文字母占据一个字节。比如nvarchar(10),最多存储10个汉字,10个字母。


最后是char:
char、varchar、nvarchar区别_第7张图片
char、varchar、nvarchar区别_第8张图片
结论:固定长度,实际占用空间为建表时分配的字节大小。一个汉字占用两个字节,一个英文字母占据一个字节。比如char(10),最多存储5个汉字,10个字母。

你可能感兴趣的:(sql)