永发信息网

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

答案:5  悬赏:10  手机版
解决时间 2021-03-01 09:44
  • 提问者网友:嗝是迷路的屁
  • 2021-02-28 13:53
SQL server里面的char和vchar有什么区别,分别用在什么地方?
最佳答案
  • 五星知识达人网友:撞了怀
  • 2021-02-28 14:12
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楼网友:执傲
  • 2021-02-28 18:00
实话告诉你实际应用的时候都一样,差别你根本用不到.
  • 2楼网友:西风乍起
  • 2021-02-28 16:26
http://blog.csdn.net/feixianxxx/archive/2009/08/17/4454659.aspx
看这个就差不多明白了
  • 3楼网友:傲气稳了全场
  • 2021-02-28 16:18
那里来的vchar,nchar就有,按unicode编码,每个字符都用两个字节存储,char为非unicode编码,英文字母等字符用一个字节表示,汉字、日文、韩文等用两个字节表示。用字符这种数据类型,要注意一个问题,在确定字符的长度
不会超过某个值的时候,尽量用char或nchar,这样查询的效率会高一些。
给个建议,去查看下SQL Server的帮助文档,里面各种相似数据类型的比较都很全面,如果英文看不懂,就下个中文版的吧
  • 4楼网友:千杯敬自由
  • 2021-02-28 15:47
char是非unicode定长字符。varchar是非unicode变长字符。比如你定义char(10),而你存储数据时候只输入了sqlserver每到10个怎么办呢?就用开个补,实际还是占用10个字符的空间。而varchar占用空间按实际输入的字符数,长度可变的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯