#BIT_LENGTH
BIT_LENGTH函数按比特位统计expr的长度,返回一个BIGINT的数值。本函数只可作用于单机HEAP表。
expr的值须为字符型/BIT类型,或可转化为字符型的其他类型(不包括浮点型)。
当expr的值为NULL时,函数返回NULL。
当expr为字符型或转换后为字符型时,函数统计所有字符所占比特位之和。对于中文字符,其比特位长度与数据库服务端字符集类型相关,例如,在UTF8字符集环境中,一个中文字符占24比特位,而在GBK字符集环境中,一个中文字符占16比特位。
当expr为BIT类型时,函数统计该BIT数字所占的比特位之和。
示例
--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