LENGTH,LENGTHB,LENGTHC,LENGTH2,LENGTH4的区别!

来源:互联网 发布:淘宝怎么申请退换货 编辑:程序博客网 时间:2024/05/22 00:52


具体说明如下:
LENGTH(string1) 返回以字符为单位的长度.
LENGTHB(string1) 返回以字节为单位的长度.
LENGTHC(string1) 返回以Unicode完全字符为单位的长度.
LENGTH2(string1) 返回以UCS2代码点为单位的长度.
LENGTH4(string1) 返回以UCS4代码点为单位的长度.

在不同的数据库,LENGTHB得到的值可能会不一样。
如LENGTHB('哈’)在不同的数据库得到的值可能是2或3。

 

因为不同字符集,对汉字的编码是不一样的,
例如ZHS16GBK是两位,采用两个byte位来定义一个汉字。
而在UTF8,采用3个byte。(也有2位汉字的UTF8的可能性)
总之,lengthb的值和你当前数据库的字符集是有关的。


oracle中length()与lengthb()最大的区别在于:
SQL> select length('新春快乐') from dual;

LENGTH('新春快乐')
------------------
                 4

SQL> select lengthb('新春快乐') from dual;

LENGTHB('新春快乐')
-------------------
                  8

区别:length求得是字符长度,   
         lengthb求得是字节长度。
原创粉丝点击