Função LEN - Amazon Redshift

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 string VARCHAR, uma expressão VARBYTE ou uma expressão que é avaliada implicitamente como um tipo CHAR, VARCHAR ou VARBYTE.

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 obter 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 | +-----------------------------------------+-----+