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ãoVARBYTE
ou uma expressão que é avaliada implicitamente como um tipoCHAR
,VARCHAR
ouVARBYTE
.
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 | +--------------+