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 cadenaVARCHAR
, una expresiónVARBYTE
o una expresión que se evalúe de forma implícita como un tipoCHAR
,VARCHAR
oVARBYTE
.
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 | +--------------+