MariaDB LENGTHB() 函数使用指南

在 MariaDB 中,LENGTHB() 是一个内置的字符串函数,它以字节为单位返回给定字符串的长度。

LENGTHB() 是 默认模式下的 LENGTH() 的同义词,并且语义更明确, 您应该首选它。

如果您要获得字符串中字符数量,请使用 CHAR_LENGTH() 或者 CHARACTER_LENGTH() 函数。

如果您要获得字符串中的位数量,请使用 BIT_LENGTH() 函数。

MariaDB LENGTHB() 语法

这里是 MariaDB LENGTHB() 函数的语法:

LENGTHB(str)

参数

str
必需的。需要计算长度的字符串。参数可以是其他的类型,比如数字或者日期等,LENGTHB() 函数会首先将其转为字符串再计算长度。

如果您未提供任何参数, MariaDB 将报告错误: ERROR 1582 (42000): Incorrect parameter count in the call to native function ‘LENGTHB’。

返回值

MariaDB LENGTHB(str) 函数返回指定字符串的以字节为单位的长度,即字节的数量。

当参数为 NULL 时, LENGTHB() 函数将返回 NULL

MariaDB LENGTHB() 示例

这个语句展示了 MariaDB LENGTHB() 函数的各种基本用法:

SELECT
    LENGTHB('Hello'),
    LENGTHB(''),
    LENGTHB(20),
    LENGTHB(-20),
    LENGTHB(+20),
    LENGTHB(NOW()),
    LENGTHB(CURDATE()),
    LENGTHB('你好'),
    LENGTHB(NULL)\G

输出:

*************************** 1. row ***************************
  LENGTHB('Hello'): 5
       LENGTHB(''): 0
       LENGTHB(20): 2
      LENGTHB(-20): 3
      LENGTHB(+20): 2
    LENGTHB(NOW()): 19
LENGTHB(CURDATE()): 10
    LENGTHB('你好'): 6
     LENGTHB(NULL): NULL

注意:

  • LENGTHB(-20) 的结果是 3。这是因为 -20 对应的字符串是 '-20', LENGTHB('-20') 的结果为 3
  • LENGTHB(+20) 的结果是 2。这是因为 +20 相当于 20,对应的字符串是 '20', LENGTHB('20') 的结果为 2
  • LENGTHB(NOW()) 相当于 LENGTHB('2021-04-02 21:18:57')
  • LENGTHB('你好') 的结果是 6。这是因为我这里用的编码是 UTF-8,其中一个中文字占用 3 个字节。

结论

MariaDB LENGTHB() 函数以字节为单位返回给定字符串的长度。