MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como BIT_LENGTH() funciona no MariaDB


No MariaDB, BIT_LENGTH() é uma função de string incorporada que retorna o comprimento do argumento de string fornecido em bits.

Você fornece a string como um argumento ao chamar a função.

Sintaxe


A sintaxe fica assim:
BIT_LENGTH(str)

Onde str é a corda.

Exemplo


Aqui está um exemplo simples:
SELECT BIT_LENGTH('A');

Resultado:
+-----------------+
| BIT_LENGTH('A') |
+-----------------+
|               8 |
+-----------------+

Podemos ver que a letra A tem 8 bits de comprimento (ou seja, 1 byte).

Aqui está um exemplo que usa caracteres com mais de 1 byte:
SELECT 
    BIT_LENGTH('©'),
    BIT_LENGTH('ไ'),
    BIT_LENGTH('ม้');

Resultado:
+------------------+-------------------+----------------------+
| BIT_LENGTH('©')  | BIT_LENGTH('ไ')   | BIT_LENGTH('ม้')      |
+------------------+-------------------+----------------------+
|               16 |                24 |                   48 |
+------------------+-------------------+----------------------+

A segunda e terceira strings são caracteres tailandeses. A terceira string usa uma marca diacrítica, que acaba dobrando o número de bits retornados.

Aqui está esse personagem com e sem o sinal diacrítico:
SELECT
    BIT_LENGTH('ม้'),
    BIT_LENGTH('ม');

Resultado:
+----------------------+-------------------+
| BIT_LENGTH('ม้')     | BIT_LENGTH('ม')    |
+----------------------+-------------------+
|                   48 |                24 |
+----------------------+-------------------+

Tipo de argumento errado


Se o argumento não for uma string, ele será convertido em string.

Exemplo:
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


Passando null retorna null :
SELECT BIT_LENGTH(null);

Resultado:
+------------------+
| BIT_LENGTH(null) |
+------------------+
|             NULL |
+------------------+

Argumento ausente


Chamando BIT_LENGTH() sem passar um argumento resulta em um erro:
SELECT BIT_LENGTH();

Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'BIT_LENGTH'