1、char是长度固定的类型,varchar2是动态变化的,譬如:存在字符串"abcde",对于一个大小为char(20)而言,它将存储20个字符,但是有15个是空字符,而varchar(20)则是占用3个字节的长度,20只是能存储的最大值。
2、char的效率比varchar2稍微高点。
3、varchar是varchar2的同义词,varchar2是oracle自己开发的一个数据类型。
何时用char或varchar?
1、首先明确,varchar2比char节省空间,但效率稍差,所以想获得效率就会牺牲一定的空间,即”以空间换效率“;2、当一个字段经常被修改,而且每次修改的数据长度不同,此时用char代替varchar2,尽量避免"行迁移"现象。