En MariaDB, BIT_LENGTH()
es una función de cadena integrada que devuelve la longitud del argumento de cadena dado en bits.
Proporcionas la cadena como argumento cuando llamas a la función.
Sintaxis
La sintaxis es así:
BIT_LENGTH(str)
Donde str
es la cadena.
Ejemplo
He aquí un ejemplo simple:
SELECT BIT_LENGTH('A');
Resultado:
+-----------------+ | BIT_LENGTH('A') | +-----------------+ | 8 | +-----------------+
Podemos ver que la letra A tiene 8 bits (es decir, 1 byte).
Aquí hay un ejemplo que usa caracteres que tienen más de 1 byte:
SELECT
BIT_LENGTH('©'),
BIT_LENGTH('ไ'),
BIT_LENGTH('ม้');
Resultado:
+------------------+-------------------+----------------------+ | BIT_LENGTH('©') | BIT_LENGTH('ไ') | BIT_LENGTH('ม้') | +------------------+-------------------+----------------------+ | 16 | 24 | 48 | +------------------+-------------------+----------------------+
La segunda y tercera cadena son caracteres tailandeses. La tercera cadena usa una marca diacrítica, lo que termina duplicando el número de bits devueltos.
Aquí está ese carácter con y sin el signo diacrítico:
SELECT
BIT_LENGTH('ม้'),
BIT_LENGTH('ม');
Resultado:
+----------------------+-------------------+ | BIT_LENGTH('ม้') | BIT_LENGTH('ม') | +----------------------+-------------------+ | 48 | 24 | +----------------------+-------------------+
Tipo de argumento incorrecto
Si el argumento no es una cadena, se convertirá en una cadena.
Ejemplo:
SELECT
BIT_LENGTH(1),
BIT_LENGTH(12),
BIT_LENGTH(123);
Resultado:
+---------------+----------------+-----------------+ | BIT_LENGTH(1) | BIT_LENGTH(12) | BIT_LENGTH(123) | +---------------+----------------+-----------------+ | 8 | 16 | 24 | +---------------+----------------+-----------------+
Argumentos nulos
Pasando null
devuelve null
:
SELECT BIT_LENGTH(null);
Resultado:
+------------------+ | BIT_LENGTH(null) | +------------------+ | NULL | +------------------+
Argumento faltante
Llamando a BIT_LENGTH()
sin pasar un argumento da como resultado un error:
SELECT BIT_LENGTH();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'BIT_LENGTH'