Oracle VARCHAR2与 NVARCHAR2 区别
首先说明下 VARCHAR 官方给出建议不要使用了,强烈建议使用VARCHAR2;
VARCHAR2 与 NVARCHAR2 在使用角度上看,主要区别是每个字符的存储空间不一样,例如在编码是GBK的i情况下:
- VARCHAR2(10) 可以存储5个汉字,10个英文字符.
- NVARCHAR2(10) 可以存储10个汉字,10个英文字符; 10就是定义的是存储的字符个数,每个字符都占用2个字节.
根据oracle安装的字符集,如果是gbk,默认安装的就是gbk,1个汉字和全角等字符占两个字节,英文字符占1个字节;如果是UTF-8,1个汉字一般占3字节.英文还是占1个字节. 实际能存多个字符主要看设置的编码集. 在oracle中所有varchar类型 能存储的最大字节是4000,注意是字节,而不是字符.