oracle汉字字节长度判断

汉字的字长与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个汉字(默认)

你可能感兴趣的:(oracle)