以下这段话来自网上:
"
NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则
1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。
2、而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个。
"
那么我有个疑惑:
varchar2(4000)存放的最大中文是2000个.
nvarchar2(2000)存放的最大中文也是2000个.
但是,如果存放的数据中有1500个中文,500个英文,那么字符集为中文的情况下,
后者已经完全存满了.
而前者还可以再存放4000-(1500*2)-500=500个英文,
既然它能根据内容存放得更多,那么为什么还要有nvarchar2呢?
是不是nvarchar2将所有存放的字符(无论中英)都用2个字节来存放,在写入和读取的时候效率会比varchar2高?
欢迎回复讨论..