LEN 函数
以字符数形式返回指定字符串的长度。
语法
LEN 是 LENGTH 函数、CHAR_LENGTH 函数、CHARACTER_LENGTH 函数和 TEXTLEN 函数的同义词。
LEN(expression)
参数
- expression
-
CHAR
字符串、VARCHAR
字符串、VARBYTE
表达式或隐式计算为CHAR
、VARCHAR
或VARBYTE
类型的表达式。
返回类型
- INTEGER
-
LEN 函数返回一个整数,表示输入字符串中的字符的数量。
如果输入的是字符串,LEN 函数将返回多字节字符串中的字符的实际数量,而不是字节的数量。例如,存储 3 个 4 字节中文字符需要
VARCHAR(12)
列。LEN 函数将对同一字符串返回3
。要获取字符串长度(以字节为单位),请使用 OCTET_LENGTH 函数。
使用说明
如果 expression 为 CHAR
字符串,则不计算尾随空格。
如果 expression 为 VARCHAR
字符串,则计算尾随空格。
示例
要返回字符串 français
中的字节数和字符数,请使用以下示例。
SELECT OCTET_LENGTH('français'), LEN('français');
+--------------+-----+ | octet_length | len | +--------------+-----+ | 9 | 8 | +--------------+-----+
要在不使用 OCTET_LENGTH 函数的情况下返回字符串 français
中的字节数和字符数,请使用以下示例。有关更多信息,请参阅 CAST 函数。
SELECT LEN(CAST('français' AS VARBYTE)) as bytes, LEN('français');
+-------+-----+ | bytes | len | +-------+-----+ | 9 | 8 | +-------+-----+
要返回字符串 cat
(没有尾随空格)、cat
(有三个尾随空格)、cat
(有三个尾随空格,强制转换为长度为 6 的 CHAR
)以及 cat
(有三个尾随空格,强制转换为长度为 6 的 VARCHAR
)中的字符数,请使用以下示例。请注意,该函数不计算 CHAR
字符串的尾随空格,但的确计算 VARCHAR
字符串的尾随空格。
SELECT LEN('cat'), LEN('cat '), LEN(CAST('cat ' AS CHAR(6))) AS len_char, LEN(CAST('cat ' AS VARCHAR(6))) AS len_varchar;
+-----+-----+----------+-------------+ | len | len | len_char | len_varchar | +-----+-----+----------+-------------+ | 3 | 6 | 3 | 6 | +-----+-----+----------+-------------+
以下示例使用 TICKIT 示例数据库的 VENUE 表中的数据。有关更多信息,请参阅 示例数据库。
要返回 VENUE 表中最长的 10 个场地名称,请使用以下示例。
SELECT venuename, LEN(venuename) FROM venue ORDER BY 2 DESC, 1 LIMIT 10;
+-----------------------------------------+-----+ | venuename | len | +-----------------------------------------+-----+ | Saratoga Springs Performing Arts Center | 39 | | Lincoln Center for the Performing Arts | 38 | | Nassau Veterans Memorial Coliseum | 33 | | Jacksonville Municipal Stadium | 30 | | Rangers BallPark in Arlington | 29 | | University of Phoenix Stadium | 29 | | Circle in the Square Theatre | 28 | | Hubert H. Humphrey Metrodome | 28 | | Oriole Park at Camden Yards | 27 | | Dick's Sporting Goods Park | 26 | +-----------------------------------------+-----+