MySQL BIT_LENGTH() 函数使用指南

MySQL BIT_LENGTH() 函数以位为单位返回给定字符串的长度。

如果想以字节为单位返回字符串的长度,请使用 LENGTH() 函数。

如果想返回字符串中的字符数量,请使用 CHAR_LENGTH() 或者 CHARACTER_LENGTH() 函数。

BIT_LENGTH() 语法

这里是 MySQL BIT_LENGTH() 函数的语法:

BIT_LENGTH(string)

参数说明

string
必需的。 需要计算位长度的字符串。

返回值

BIT_LENGTH() 函数返回的是给定字符串的位长度。BIT_LENGTH() 函数返回的值是 LENGTH() 函数返回值的 8 倍,因为 1 个字节等于 8 位。

  • 如果参数类型不是字符串类型,BIT_LENGTH() 函数会尝试将参数转为字符串。
  • 如果参数 stringNULL,它将返回 NULL

BIT_LENGTH() 示例

SELECT
    BIT_LENGTH('a'),
    BIT_LENGTH('string'),
    BIT_LENGTH(1),
    BIT_LENGTH(01),
    BIT_LENGTH('01'),
    BIT_LENGTH('你好'),
    BIT_LENGTH(NULL)\G
*************************** 1. row ***************************
     BIT_LENGTH('a'): 8
BIT_LENGTH('string'): 48
       BIT_LENGTH(1): 8
      BIT_LENGTH(01): 8
    BIT_LENGTH('01'): 16
BIT_LENGTH('你好'): 48
    BIT_LENGTH(NULL): NULL

注意, BIT_LENGTH(01)BIT_LENGTH('01') 返回的结果并不相同,这是因为 01 是数字,会首先转为 1,再执行 BIT_LENGTH(1)