Función OCTET_LENGTH - Amazon Redshift

Función OCTET_LENGTH

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

Sintaxis

OCTET_LENGTH(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 OCTET_LENGTH devuelve un valor entero que indica la cantidad de bytes 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 OCTET_LENGTH devolverá 12 para esa cadena, y la función LEN devolverá 3 para esa misma cadena.

Notas de uso

Si expresión es una CHAR, la función devuelve la longitud de la cadena CHAR. Por ejemplo, la salida de una entrada CHAR(6) es CHAR(6).

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

Ejemplos

Para devolver el número de bytes cuando la cadena francais con tres espacios finales se convierte en CHAR y un tipo de VARCHAR, utilice el siguiente ejemplo. Para obtener más información, consulte Función 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 | +-------------------+----------------------+

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 devolver el número de bytes cuando la cadena français se convierte en VARBYTE, utilice el siguiente ejemplo.

SELECT OCTET_LENGTH(CAST('français' AS VARBYTE)); +--------------+ | octet_length | +--------------+ | 9 | +--------------+