MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment BIT_LENGTH() fonctionne dans MariaDB

Dans MariaDB, BIT_LENGTH() est une fonction de chaîne intégrée qui renvoie la longueur de l'argument de chaîne donné en bits.

Vous fournissez la chaîne comme argument lorsque vous appelez la fonction.

Syntaxe

La syntaxe ressemble à ceci :

BIT_LENGTH(str)

str est la chaîne.

Exemple

Voici un exemple simple :

SELECT BIT_LENGTH('A');

Résultat :

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

Nous pouvons voir que la lettre A est longue de 8 bits (soit 1 octet).

Voici un exemple qui utilise des caractères de plus de 1 octet :

SELECT 
    BIT_LENGTH('©'),
    BIT_LENGTH('ไ'),
    BIT_LENGTH('ม้');

Résultat :

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

Les deuxième et troisième chaînes sont des caractères thaïlandais. La troisième chaîne utilise un signe diacritique, ce qui finit par doubler le nombre de bits renvoyés.

Voici ce caractère avec et sans le signe diacritique :

SELECT
    BIT_LENGTH('ม้'),
    BIT_LENGTH('ม');

Résultat :

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

Type d'argument erroné

Si l'argument n'est pas une chaîne, il sera converti en chaîne.

Exemple :

SELECT 
    BIT_LENGTH(1),
    BIT_LENGTH(12),
    BIT_LENGTH(123);

Résultat :

+---------------+----------------+-----------------+
| BIT_LENGTH(1) | BIT_LENGTH(12) | BIT_LENGTH(123) |
+---------------+----------------+-----------------+
|             8 |             16 |              24 |
+---------------+----------------+-----------------+

Arguments nuls

Passer null renvoie null :

SELECT BIT_LENGTH(null);

Résultat :

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

Argument manquant

Appel de BIT_LENGTH() sans passer d'argument génère une erreur :

SELECT BIT_LENGTH();

Résultat :

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