数据库中的char类型用于存储定长类型;效率比varchar要稍高,但是,占用空间比varchar要多.
比如“asd”,对于char(9)就表示存储9个字节(包括6个空字节),在取值的时候就需要.trim()把两边的空号去掉。
对于varchar(9),则是按照实际字节数存储的,只存储三个字节。
oracle中,会有一个varchar2型的数据类型,varchar2型与varchar型的区别:
1、varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;
2、VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;
3、VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,