CHAR(10)和VARCHAR(10)的区别

学生成绩表里学号列应该选择的数据类型最好选择CHAR(10)和VARCHAR(10)中的哪一个,为什么

char(10) 是固定长度,即使你保存的数据不足10位,数据库也会自动的在数据后面补充空格以保证长度达到10位,而varchar(10)则是变长的,也就是说保存的数据不足10位的话,你存入几位,数据库就保存下来的数据记录为几位。相对来说char的速度比varchar快一点,但这个快一点你可以忽略不计。
如果学号列是固定的10位的话,用char(10)也可以,否则用varchar(10)
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-04
如果是使用oracle的话存储字符数据的话就使用varchar2吧,这个是根据你保存的数据自动缩减长度的,比较节省空间。

char:
使用指定长度的固定长度表示的;比如char(8),则数据库会使用固定的8个字节来存储数据

,不足8为的字符串在其后补空字符;
varchar
在oracle中varchar跟char是一个类型;sqlserver中varchar相当于oracle中的varchar2
varchar2
用实际字符数+2个字节来存储的变长字符串;比如一个字段定义为varchar(10),而实际存储的内容为

‘A’,则数据库会用3个字节来存储该字符串,其中前两个字节用来存储字符的长度;
在数据库中的字段,由于一个字段大小不能超过一个block的长度,所以varchar和char都是最大为

8000个字节,由于可能会存储汉字,也就是一个字符用2个字节来存储,所以字段中最大定义为varchar

(4000),而在plsql中,这个大小的限制变为32000左右,这是因为表示其大小的字节只有两个。追问

这个是简答题。。。不是这么答的吧。。。

那么我就这么答了:
这里使用VARCHAR(10),因为CHAR是固定表示的字符串,而VARCHAR是。。。
不行,没看懂写不下去。。。

本回答被提问者采纳
第2个回答  2014-01-22
CHAR(10)
若输入数据的字符数小于10,则系统自动在其后添加空格来填满设定好的空间。若输入的数据过长,将会截掉其超出部分。
VARCHAR(10)
数据类型的存储长度为实际数值长度,若输入数据的字符数小于10,则系统不会在其后添加空格来填满设定好的空间。

例如你输入一个值:first。
varchar(10)则只保存五个字符。
CHAR(10)依然会保存10个字符

相关了解……

你可能感兴趣的内容

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