Função OCTET_LENGTH - Amazon Redshift

Função OCTET_LENGTH

Retorna o tamanho da string especificada como número de bytes.

Sintaxe

OCTET_LENGTH(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 OCTET_LENGTH retorna um número inteiro indicando o número de bytes na 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 OCTET_LENGTH retornará 12 para essa string, e a função LEN retornará 3 para essa mesma string.

Observações de uso

Se a expressão for uma string CHAR, a função retornará o comprimento da string CHAR. Por exemplo, a saída de uma entrada CHAR(6) é CHAR(6).

Se a expressão for uma string VARCHAR, os espaços finais serão contados.

Exemplos

Para retornar o número de bytes quando a string francais com três espaços finais é lançada em um tipo CHAR e VARCHAR, use o exemplo a seguir. Para obter mais informações, consulte Função 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 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 quando a string français é transmitida como um VARBYTE, use o exemplo a seguir.

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