O Amazon Redshift não permitirá mais a criação de funções definidas pelo usuário (UDFs) do Python a partir de 1.º de novembro de 2025. Se quiser usar UDFs do Python, você deve criá-las antes dessa data. As UDFs do Python existentes continuarão a funcionar normalmente. Para ter mais informações, consulte a publicação de blog
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 stringVARCHAR, uma expressãoVARBYTEou uma expressão que é avaliada implicitamente como um tipoCHAR,VARCHARouVARBYTE.
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á12para essa string, e a função LEN retornará3para 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 a 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 | +--------------+