SQL server里面的char和vchar有什么区别,分别用在什么地方?

如题所述

1. char是定长的字符数组, varchar是变长的字符数组.
2. char(10)表示字符数组的长度自始至终都是10个字节, 表格一创建就分配给它10个字节. varchar(10)表示字符数组最大长度是10个字节, 实际使用时也可不达到10可字节, 根据实际情况分配储存空间.char,varchar均有个限制,定义 char(N)或varchar(N)时,应有N<=8000.
3. char类型主要用来存放定长字符串, 如 gender char(2) check(gender in('男','女')) default '男',相应地,varchar类型主要用来存放不定长字符串.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-15
那里来的vchar,nchar就有,按unicode编码,每个字符都用两个字节存储,char为非unicode编码,英文字母等字符用一个字节表示,汉字、日文、韩文等用两个字节表示。用字符这种数据类型,要注意一个问题,在确定字符的长度
不会超过某个值的时候,尽量用char或nchar,这样查询的效率会高一些。
给个建议,去查看下SQL Server的帮助文档,里面各种相似数据类型的比较都很全面,如果英文看不懂,就下个中文版的吧
第2个回答  2010-05-15
char是非unicode定长字符。varchar是非unicode变长字符。比如你定义char(10),而你存储数据时候只输入了sqlserver每到10个怎么办呢?就用开个补,实际还是占用10个字符的空间。而varchar占用空间按实际输入的字符数,长度可变的。
第3个回答  2010-05-15
实话告诉你实际应用的时候都一样,差别你根本用不到.
第4个回答  2010-05-15


看这个就差不多明白了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网