1.有var前缀的,表示是实际存储空间是变长的,varchar,nvarchar
所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充,比较例外的是,text存储的也是可变长。
2.有n前缀的,n表示Unicode字符,即所有字符都占两个字节,nchar,nvarchar
字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。
3.基于以上两点来看看字段容量
char,varchar 最多8000个英文,4000个汉字
nchar,nvarchar 可存储4000个字符,无论英文还是汉字
相关文章
- 批量替换数据库中所有用户数据表中字段数据类型为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 的区别
- mysql中char与varchar的区别分析(补充一句,int和integer没区别)
- 答:SQLServer DBA 三十问之一: char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;
- 数据库中varchar和char的区别