MariaDB OCTET_LENGTH() 函数使用指南
在 MariaDB 中,OCTET_LENGTH()
是一个内置的字符串函数,它以字节位单位返回给定字符串参数的长度。
OCTET_LENGTH()
与 LENGTHB()
函数完全相同。它也与在 Oracle 模式下的 LENGTH()
函数相同。
如果您要获得字符串中字符数量,请使用 CHAR_LENGTH()
或者 CHARACTER_LENGTH()
函数。
如果您要获得字符串中的位数量,请使用 BIT_LENGTH()
函数。
MariaDB OCTET_LENGTH()
语法
这里是 MariaDB OCTET_LENGTH()
函数的语法:
OCTET_LENGTH(string)
参数
string
- 必需的。需要计算长度的字符串。参数可以是其他的类型,比如数字或者日期等,
OCTET_LENGTH()
函数会首先将其转为字符串再计算长度。
如果您未提供参数, MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'OCTET_LENGTH'
。
返回值
MariaDB OCTET_LENGTH(string)
函数返回指定字符串的以字节为单位的长度,即字节的数量。
如果参数为 NULL
, OCTET_LENGTH()
函数将返回 NULL
。
MariaDB LENGTHB()
示例
这个语句展示了 MariaDB LENGTHB()
函数的各种基本用法:
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 个字节。
结论
MariaDB LENGTHB()
函数以字节为单位返回给定字符串的长度。