Función LEN - Amazon Redshift

Función LEN

Devuelve la longitud de la cadena especificada como el número de caracteres.

Sintaxis

LEN es sinónimo de Función LENGTH, Función CHAR_LENGTH, Función CHARACTER_LENGTH y Función TEXTLEN.

LEN(expression)

Argumento

expresión

Una cadena CHAR, una cadena VARCHAR, una expresión VARBYTE o una expresión que se evalúe de forma implícita como un tipo CHAR, VARCHAR o VARBYTE.

Tipo de retorno

INTEGER

La función LEN devuelve un valor entero que indica la cantidad de caracteres en la cadena de entrada.

Si la cadena de entrada es una cadena de caracteres, la función LEN devuelve una cantidad real de caracteres en cadenas multibyte y no la cantidad de bytes. Por ejemplo, una columna VARCHAR(12) necesita almacenar tres caracteres chinos de cuatro bytes. La función LEN devolverá 3 para esa misma cadena. Para obtener la longitud de la cadena en bytes, use la función OCTET_LENGTH.

Notas de uso

Si la expresión es una cadena CHAR, los espacios finales no se cuentan.

Si la expresión es una cadena VARCHAR, los espacios finales se cuentan.

Ejemplos

Para devolver el número de bytes y el número de caracteres de la cadena français, use el siguiente ejemplo.

SELECT OCTET_LENGTH('français'), LEN('français'); +--------------+-----+ | octet_length | len | +--------------+-----+ | 9 | 8 | +--------------+-----+

Para que se devuelva el número de bytes y el número de caracteres de la cadena français sin utilizar la función OCTET_LENGTH, utilice el siguiente ejemplo. Para obtener más información, consulte Función CAST.

SELECT LEN(CAST('français' AS VARBYTE)) as bytes, LEN('français'); +-------+-----+ | bytes | len | +-------+-----+ | 9 | 8 | +-------+-----+

Para devolver el número de caracteres de las cadenas cat sin espacios finales, cat con tres espacios finales, cat con tres espacios finales configurados como CHAR de 6 de longitud y cat con tres espacios finales moldeados a modo de VARCHAR de longitud 6, utilice el siguiente ejemplo. Observe que la función no cuenta los espacios finales para las cadenas CHAR, pero sí cuenta los espacios finales para las cadenas 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 | +-----+-----+----------+-------------+

En el siguiente ejemplo se utilizan datos de la tabla VENUE en la base de datos de ejemplo TICKIT. Para obtener más información, consulte Base de datos de muestra.

Para devolver los 10 nombres de lugares más largos en la tabla VENUE, utilice el siguiente ejemplo.

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