1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节; 2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理; 3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集, 大部分情况下建议使用varchar2类型,可以保证更好的兼容性。 varchar -- 存放定長的字符數據,最長2000個字符; varchar2 -- 存放可變長字符數據,最大長度為4000字符。
VARCHAR2是Oracle提供的特定数据类型,Oracle可以保证VARCHAR2在任何版本中该数据类型都可以向上和向下兼容。
VARCHAR在Oracle中不建议使用。 具体到NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。 在sql中和nvarchar一样
2、而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个。 在sql中和varchar一样