Função LEN
Retorna o tamanho da string especificada como número de caracteres.
Sintaxe
LEN é um sinônimo de Função LENGTH, Função CHAR_LENGTH, Função CHARACTER_LENGTH e Função TEXTLEN.
LEN(expression)
Argumento
- expressão
-
Uma string
CHAR
, uma stringVARCHAR
, uma expressãoVARBYTE
ou uma expressão que é avaliada implicitamente como um tipoCHAR
,VARCHAR
ouVARBYTE
.
Tipo de retorno
- INTEGER
-
A função LEN retorna um inteiro indicando o número de caracteres em string de entrada.
Se a string de entrada for uma cadeia de caracteres, a função LEN retornará o número real de caracteres em strings multibyte, e não o número de bytes. Por exemplo, uma coluna
VARCHAR(12)
deve armazenar três caracteres chineses de quatro bytes. A função LEN retornará3
para essa mesma string. Para obter o tamanho de uma string em bytes, use a função OCTET_LENGTH.
Observações de uso
Se a expressão for uma string CHAR
, os espaços finais não serão contados.
Se a expressão for uma string VARCHAR
, os espaços finais serão contados.
Exemplos
Para retornar o número de bytes e o número de caracteres na string français
, use o exemplo a seguir.
SELECT OCTET_LENGTH('français'),
LEN('français');
+--------------+-----+
| octet_length | len |
+--------------+-----+
| 9 | 8 |
+--------------+-----+
Para retornar o número de bytes e o número de caracteres na string français
sem usar a função OCTET_LENGTH, use o exemplo a seguir. Para obter mais informações, consulte Função CAST.
SELECT LEN(CAST('français' AS VARBYTE)) as bytes, LEN('français');
+-------+-----+
| bytes | len |
+-------+-----+
| 9 | 8 |
+-------+-----+
Para retornar o número de caracteres nas strings cat
sem espaços finais, cat
com três espaços finais, cat
com três espaços finais lançados como um CHAR
de comprimento 6 e cat
com três espaços finais lançados como um VARCHAR
de comprimento 6, use o exemplo a seguir. Observe que a função não conta os espaços finais para strings CHAR
, mas conta esses espaços para strings 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 |
+-----+-----+----------+-------------+
O exemplo a seguir usa dados da tabela VENUE do banco de dados de amostra TICKIT. Para ter mais informações, consulte Banco de dados de exemplo.
Para retornar os dez nomes de locais mais longos na tabela VENUE, use o exemplo a seguir.
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 |
+-----------------------------------------+-----+