char,varchar,varchar2都用于存储字符,但它们有一些区别。
1. CHAR的长度是固定的。比如,存储字符串"maggie",对于CHAR (20),表示你存储的字符将占20个字节(除了maggie6个字符外,其余补充14个空字符)。
2. VARCHAR2的长度是可变化。比如,存储字符串"maggie",对于VARCHAR2 (20)则只占用6个字节的长度。当存储的字符小于20时,按实际长度存储,20只是最大值。 VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些。
3. VARCHAR是标准SQL提供的数据类型。目前VARCHAR是VARCHAR2的同义词,但VARCHAR2是oracle提供的独特的数据类型。工业标准的VARCHAR类型可以存储空字符串,但是的VARCHAR2类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。
Oracle建议使用VARCHAR2而不是VARCHAR。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10640532/viewspace-551846/ ,如需转载,请注明出处,否则将追究法律责任。