MySQL OCTET_LENGTH() 函数使用指南

MySQL OCTET_LENGTH() 函数返回指定字符串的以字节为单位的长度。如果想返回字符的数量,请使用 CHAR_LENGTH() 函数或者 CHARACTER_LENGTH() 函数。

OCTET_LENGTH() 函数与 LENGTH() 函数相同。

OCTET_LENGTH() 语法

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

OCTET_LENGTH(string)

参数

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

返回值

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

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

OCTET_LENGTH() 示例

这里列出了几个常见的 OCTET_LENGTH() 示例。

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

注意:

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