1.有var前缀的,表示是实际存储空间是变长的,varchar,nvarchar
所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充,比较例外的是,text存储的也是可变长。
2.有n前缀的,n表示Unicode字符,即所有字符都占两个字节,nchar,nvarchar
字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。
3.基于以上两点来看看字段容量
char,varchar 最多8000个英文,4000个汉字
nchar,nvarchar 可存储4000个字符,无论英文还是汉字
相关文章
- MySQL数据库中varchar与char类型的区别
- char和varchar的区别、varchar(?)中问号部分的含义、索引的作用
- 【字符串区别】SQLServer中char、varchar、nchar、nvarchar的区别:
- 批量替换数据库中所有用户数据表中字段数据类型为char和varchar到nvarchar的脚本
- 浅谈mysql中varchar(m)与char(n)的区别与联系
- sql server数据库中char、nchar、varchar、nvarchar的选择
- SQL Server char,varchar,nchar,nvarchar区别
- char、varchar、text和nchar、nvarchar、ntext的区别
- SqlServer中-char varchar nvarchar的区别
- 数据库中,char 与 varchar2 的区别