OCTET_LENGTH 函数
以字节数形式返回指定字符串的长度。
语法
OCTET_LENGTH(expression)
参数
- expression
-
CHAR
字符串、VARCHAR
字符串、VARBYTE
表达式或隐式计算为CHAR
、VARCHAR
或VARBYTE
类型的表达式。
返回类型
- INTEGER
-
OCTET_LENGTH 函数返回一个整数,表示输入字符串中的字节数。
如果输入的是字符串,LEN 函数将返回多字节字符串中字符的实际数量,而不是字节的数量。例如,存储 3 个 4 字节中文字符需要
VARCHAR(12)
列。OCTET_LENGTH 函数对于该字符串将返回12
,而 LEN 函数将对于该同一个字符串将返回3
。
使用说明
如果 expression 是 CHAR
字符串,则此函数返回 CHAR
字符串的长度。例如,CHAR(6)
输入的输出为 CHAR(6)
。
如果 expression 为 VARCHAR
字符串,则计算尾随空格。
示例
当带有三个尾随空格的字符串 francais
强制转换为 CHAR
和 VARCHAR
类型时,要返回字节数,请使用以下示例。有关更多信息,请参阅 CAST 函数。
SELECT OCTET_LENGTH(CAST('francais ' AS CHAR(15))) AS octet_length_char, OCTET_LENGTH(CAST('francais ' AS VARCHAR(15))) AS octet_length_varchar;
+-------------------+----------------------+ | octet_length_char | octet_length_varchar | +-------------------+----------------------+ | 15 | 11 | +-------------------+----------------------+
要返回字符串 français
中的字节数和字符数,请使用以下示例。
SELECT OCTET_LENGTH('français'), LEN('français');
+--------------+-----+ | octet_length | len | +--------------+-----+ | 9 | 8 | +--------------+-----+
要在字符串 français
强制转换为 VARBYTE
时返回字节数,请使用以下示例。
SELECT OCTET_LENGTH(CAST('français' AS VARBYTE));
+--------------+ | octet_length | +--------------+ | 9 | +--------------+