数据库中char、varchar、varchar2之间的区别
char、varchar的区别:
区别一,定长和变长:
char 表示定长,长度固定,varchar表示变长,即长度可变。char如果插入的长度小于定义长度时,则用空格填充;varchar小于定义长度时,还是按实际长度存储,插入多长就存多长。
因为其长度固定,char的存取速度还是要比varchar要快得多,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以会占据多余的空间,可谓是以空间换取时间效率。varchar则刚好相反,以时间换空间。
区别之二,存储的容量不同:
对 char 来说,最多能存放的字符个数 255,和编码无关。
而 varchar 呢,最多能存放 65532 个字符。varchar的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是 65,532字节。
varchar、varchar2:
varchar是标准sql里面的;varchar2是oracle提供的独有的数据类型。
varchar对于汉字占两个字节,对于数字,英文字符是一个字节,占的内存小;varchar2一般情况下把所有字符都占两字节处理。具体要看数据库使用的字符集,比如GBK,汉字就会占两个字节,英文1个,如果是UTF-8,汉字一般占3个字节,英文还是1个。
varchar对空串不处理;varchar2将空串当做null来处理。
varchar存放固定长度的字符串,最大长度是2000;varchar2是存放可变长度的字符串,最大长度是4000。
如果是要更换不同的数据库,例如mysql,那么就用varchar;如果就用oracle,那么用varchar2比较好一点。
- 点赞
- 收藏
- 关注作者
评论(0)