汉字的字长与Oracle的配置是相关的,
用以下语句查询:
select * from v$nls_parameters t where t.PARAMETER='NLS_CHARACTERSET';
可以查询到当前数据库的字符集,如果value=ZHS16GBK,那么一个汉字占用2个字节,如果value=AL32UTF8,那么一个汉字占用3个字节,这是Oracle数据库默认的。
两个函数(分别是length和lengthb)可以查长度
select lengthb('一') from dual ; 结果是3
select length('一') from dual ;结果是1
其他说明:
VARCHAR2(900 CHAR) 与 VARCHAR2(900)意义不同
VARCHAR2(900)相当于VARCHAR2(900 byte)可以存储300个汉字(默认)