#LENGTH LENGTHB

length
LENGTH ( expr )
lengthb
LENGTHB ( expr )

LENGTH/LENGTHB函数统计expr的值的长度,返回一个BIGINT的数值。

LENGTH按字符统计长度,与CHAR_LENGTH和CHARACTER_LENGTH函数同义。

LENGTHB按字节统计长度,与OCTET_LENGTH函数同义。对于中文字符,不同的字符集环境可能返回不同的结果,例如,在UTF8字符集环境中,一个中文字符占3字节,而在GBK字符集环境中,一个中文字符占2字节。

expr的值须为字符型,或可转化为字符型的其他类型。当expr的值为NULL时,函数返回NULL。

函数中的expr不允许为BIT和XMLTYPE类型。

对于列存表中的LOB类型字段,若某行数据为行外存储,则无法使用本函数。

示例

--UTF8字符集环境
SELECT LENGTH('深圳') r1,LENGTHB('深圳') r2,
LENGTH('aabbccDDee') r3,LENGTHB('aabbccDDee') r4,
LENGTH(null) r5,LENGTHB(null) r6
FROM DUAL;
   R1   R2    R3    R4    R5    R6
----- ---- ----- ----- ----- -----
    2    6    10    10
    
--GBK字符集环境
SELECT LENGTH('深圳') r1,LENGTHB('深圳') r2
FROM DUAL;
                   R1                    R2 
--------------------- --------------------- 
                    2                     4
pdf-btn 下载文档
copy-btn 复制链接