#BIT_LENGTH

BIT_LENGTH
BIT_LENGTH ( expr )

BIT_LENGTH函数按比特位统计expr的长度,返回一个BIGINT的数值。

本函数不支持向量化计算。

expr

expr的值须为字符型、BIT类型或除浮点型和XMLTYPE类型外的可转化为字符型的其他类型。

  • 当expr为字符型或转换后为字符型时,函数统计所有字符所占比特位之和。对于中文字符,其比特位长度与数据库服务端字符集类型相关。例如,在UTF8字符集环境中,一个中文字符占24比特位,而在GBK字符集环境中,一个中文字符占16比特位。
  • 当expr为BIT类型时,函数统计该BIT数字所占的比特位之和。
  • 当expr的值为NULL时,函数返回NULL。

示例(HEAP表)

-- UTF8字符集环境
SELECT CHAR_LENGTH('深圳') r1,OCTET_LENGTH('深圳') r2,BIT_LENGTH('深圳') r3
FROM DUAL;
                   R1                    R2                    R3 
--------------------- --------------------- --------------------- 
                    2                     6                    48
    
-- GBK字符集环境
SELECT CHAR_LENGTH('深圳') r1,OCTET_LENGTH('深圳') r2,BIT_LENGTH('深圳') r3
FROM DUAL;
                   R1                    R2                    R3 
--------------------- --------------------- --------------------- 
                    2                     4                    32

-- BIT数据
SELECT BIT_LENGTH(b'101') rb, BIT_LENGTH('101') rc, BIT_LENGTH(101) rn
FROM DUAL;
                   RB                    RC                    RN 
--------------------- --------------------- --------------------- 
                    8                    24                    24
pdf-btn 下载文档
copy-btn 复制链接