MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Wie BIT_LENGTH() in MariaDB funktioniert

In MariaDB BIT_LENGTH() ist eine eingebaute String-Funktion, die die Länge des gegebenen String-Arguments in Bits zurückgibt.

Sie geben den String als Argument an, wenn Sie die Funktion aufrufen.

Syntax

Die Syntax sieht so aus:

BIT_LENGTH(str) 

Wobei str ist die Zeichenfolge.

Beispiel

Hier ist ein einfaches Beispiel:

SELECT BIT_LENGTH('A'); 

Ergebnis:

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

Wir können sehen, dass der Buchstabe A 8 Bit lang ist (d. h. 1 Byte).

Hier ist ein Beispiel, das Zeichen verwendet, die länger als 1 Byte sind:

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

Ergebnis:

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

Die zweite und dritte Zeichenfolge sind thailändische Schriftzeichen. Die dritte Zeichenfolge verwendet ein diakritisches Zeichen, wodurch die Anzahl der zurückgegebenen Bits verdoppelt wird.

Hier ist das Zeichen mit und ohne diakritisches Zeichen:

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

Ergebnis:

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

Falscher Argumenttyp

Wenn das Argument kein String ist, wird es in einen String konvertiert.

Beispiel:

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

Ergebnis:

+----------+---------------+------------ ----+| BIT_LÄNGE(1) | BIT_LÄNGE(12) | BIT_LÄNGE(123) |+----------+----------------+----------- ------+| 8 | 16 | 24 |+----------+----------------+------------- ---+

Null-Argumente

Übergabe von null gibt null zurück :

SELECT BIT_LENGTH(null); 

Ergebnis:

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

Fehlendes Argument

Aufruf von BIT_LENGTH() ohne Übergabe eines Arguments führt zu einem Fehler:

SELECT BIT_LENGTH(); 

Ergebnis:

FEHLER 1582 (42000):Falsche Parameteranzahl beim Aufruf der nativen Funktion 'BIT_LENGTH'