20161008总结

在oracle中,length()与lengthb()是有区别的,length求得是字符长度(Characters),lengthb求得是字节长度(Bytes)。可以根据此规矩用来判断是否是汉字。

1
2
SQL> select length('星空学者') from dual; 
SQL> select lengthb('星空学者') from dual;

第一个SQL得到4,第二个得到8。
在Oracle中得到长度的函数,除了上述两个还有lengthc,length2,length4这三个函数,其中lengthc返回的是unicode字符长度(unicode characters),length2返回的是Code units,length4返回的是Code points。
参考:
1.http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions076.htm
2.http://www.dba-oracle.com/t_lengthb_lengthc_length2_length4.htm