oracle中length()与lengthb()区别
一:OracleSQL.oracle中length()与lengthb()区别
SQL> select length('中國) from dual;
LENGTH('中國)
--------------
2
SQL> select lengthb('中國) from dual;
LENGTHB('中國)
---------------
4
区别:length求得是字符长度,lengthb求得是字节长度
二:
ORACLE 一個中文是佔用兩個字節,還是3個字節,更orac配置有關
用以下语句查询: select * from v$nls_parameters t where t.PARAMETER='NLS_CHARACTERSET';
可以查询到当前数据库的字符集,如果value=ZHS16GBK,
那么一个汉字占用2个字节,輸入法,全角模式下,一個英文占2個字節,半角占1個字節
如果value=AL32UTF8,那么一个汉字占用3个字节。輸入法,全角模式下,一個英文占3個字節,半角占1個字節
于是查询了一下本人的数据库,字符集果然是AL32UTF8(这是Oracle数据库默认的)。