varchar -- 存放定长的字符数据,最长2000个字符;varchar2 -- 存放可变长字符数据,最大长度为4000字符。 目前没有本质的区别但是:varchar2是oracle提供的独特的数据类型oracle保证在任何版本中该数据类型向上和向下兼容但不保证varchar,这是因为varchar是标准sql提供的数据类型有可能随着sql标准的变化而改变
在使用方面是没有啥区别的,用哪个都一样,硬要说区别的话就是varchar是sql用的(通用),varchar2是oracle弄给自己用的,比如你声明一个字段值类型为varchar,oracle则是把他当做varchar2来看的,随着以后的发展更新,可能他们就开始有区别了