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

发布网友 发布时间:2022-04-22 22:15

我来回答

3个回答

热心网友 时间:2022-04-10 08:32

char(10) 是固定长度,即使你保存的数据不足10位,数据库也会自动的在数据后面补充空格以保证长度达到10位,而varchar(10)则是变长的,也就是说保存的数据不足10位的话,你存入几位,数据库就保存下来的数据记录为几位。相对来说char的速度比varchar快一点,但这个快一点你可以忽略不计。
如果学号列是固定的10位的话,用char(10)也可以,否则用varchar(10)

热心网友 时间:2022-04-10 09:50

如果是使用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是。。。
不行,没看懂写不下去。。。

热心网友 时间:2022-04-10 11:25

CHAR(10)
若输入数据的字符数小于10,则系统自动在其后添加空格来填满设定好的空间。若输入的数据过长,将会截掉其超出部分。
VARCHAR(10)
数据类型的存储长度为实际数值长度,若输入数据的字符数小于10,则系统不会在其后添加空格来填满设定好的空间。

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com