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

MariaDB LENGTHB() expliqué

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

Syntaxe

La syntaxe ressemble à ceci :

LENGTHB(str)

str est la chaîne dont la longueur sera renvoyée.

Exemple

Voici un exemple de base :

SELECT LENGTHB('café');

Résultat :

+------------------+
| LENGTHB('café')  |
+------------------+
|                5 |
+------------------+

Dans ce cas, la chaîne comportait quatre caractères, mais LENGTHB() a renvoyé 5 . C'est parce que le dernier caractère utilise deux octets.

Comparaison avec CHAR_LENGTH() et BIT_LENGTH()

Voici une comparaison rapide entre LENGTHB() , CHAR_LENGTH() (qui renvoie le nombre de caractères dans la chaîne) et BIT_LENGTH() (qui renvoie le nombre de bits dans la chaîne):

SELECT 
    LENGTHB('อ'),
    CHAR_LENGTH('อ'),
    BIT_LENGTH('อ');

Résultat :

+----------------+--------------------+-------------------+
| LENGTHB('อ')   | CHAR_LENGTH('อ')   | BIT_LENGTH('อ')   |
+----------------+--------------------+-------------------+
|              3 |                  1 |                24 |
+----------------+--------------------+-------------------+

Ce caractère thaï ( ) utilise 3 octets, et donc LENGTHB() renvoie 3 .

CHAR_LENGTH() renvoie 1 , car il ne s'agit toujours que d'un seul caractère, et BIT_LENGTH() renvoie le nombre de bits (24 ).

Non-chaînes

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

Voici un autre exemple qui utilise un nombre :

SELECT LENGTHB(1234);

Résultat :

+---------------+
| LENGTHB(1234) |
+---------------+
|             4 |
+---------------+

Arguments nuls

Passer null renvoie null :

SELECT LENGTHB(null);

Résultat :

+---------------+
| LENGTHB(null) |
+---------------+
|          NULL |
+---------------+

Argument manquant

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

SELECT LENGTHB();

Résultat :

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

LENGTHB() vs LENGTHB()

Le LENGTHB() la fonction est similaire à la LENGTH() fonction, sauf pour son fonctionnement en mode Oracle.

Le LENGTHB() fonctionne de la même manière, quel que soit le mode dans lequel elle se trouve (c'est-à-dire qu'elle renvoie le nombre d'octets dans la chaîne).

LENGTHB() d'autre part, se comporte différemment selon qu'il est en mode Oracle ou en mode par défaut.

Plus précisément, en mode par défaut, LENGTH() mesure la chaîne en octets. Mais en mode Oracle, il mesure la chaîne en caractères .