length表示的是字符串的字符长度,lengthb表示的是字符串的字节长度;
substr表示根据字符长度获取子串,substrb表示根据字节长度获取字符串。
SELECT LENGTH('length,lengthb测试') FROM dual;--字符数
SELECT LENGTHB('length,lengthb测试') FROM dual; --字节数
SELECT SUBSTR('测试length,lengthb测试',1,5) FROM dual;
SELECT SUBSTRB('测试length,lengthb测试',1,5) FROM dual;
一个中文汉字占用几个字节,由oracle服务器端字符集编码决定
select userenv('language') from dual;
SIMPLIFIED CHINESE_CHINA.ZHS16GBK --个汉字占两个字节
SIMPLIFIED CHINESE_CHINA.AL32UTF8 一个汉字占三个字节
也可以select lengthb('你') from dual来查询。