varchar or varchar2其实都可以

解决方案 »

  1.   

    varchar2是oracle提供的独特的数据类型oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar
      

  2.   

    oracle在数据库升级过程中用varchar2类替代varchar是为了一个过渡,以便在确保兼容性的过渡之后,再回头支持varachr类成为一种更强功能的数据类型,这个工作一支在努力。
    大家可以看到varchar2与varchar很相似,没有什么太大的不同。
    就好比你在进行变量替换时,需要一个中间变量放置一些东东一样。
      

  3.   

    varchar的标准不是oracle掌管的 所以,oracle不能保证varchar这个类型不发生变化,而oracle则保证varchar2一直保持兼容,而nvarchar2是oracle自己的类型,sql标准中没有nvarchar所以,在oracle中就没有提供。