In MariaDB, BIT_LENGTH()
is een ingebouwde tekenreeksfunctie die de lengte van het gegeven tekenreeksargument in bits teruggeeft.
Je geeft de string op als argument wanneer je de functie aanroept.
Syntaxis
De syntaxis gaat als volgt:
BIT_LENGTH(str)
Waar str
is de tekenreeks.
Voorbeeld
Hier is een eenvoudig voorbeeld:
SELECT BIT_LENGTH('A');
Resultaat:
+-----------------+ | BIT_LENGTH('A') | +-----------------+ | 8 | +-----------------+
We kunnen zien dat de letter A 8 bits lang is (d.w.z. 1 byte).
Hier is een voorbeeld dat tekens gebruikt die langer zijn dan 1 byte:
SELECT
BIT_LENGTH('©'),
BIT_LENGTH('ไ'),
BIT_LENGTH('ม้');
Resultaat:
+------------------+-------------------+----------------------+ | BIT_LENGTH('©') | BIT_LENGTH('ไ') | BIT_LENGTH('ม้') | +------------------+-------------------+----------------------+ | 16 | 24 | 48 | +------------------+-------------------+----------------------+
De tweede en derde reeks zijn Thaise karakters. De derde string maakt gebruik van een diakritisch teken, wat resulteert in een verdubbeling van het aantal geretourneerde bits.
Hier is dat teken met en zonder het diakritische teken:
SELECT
BIT_LENGTH('ม้'),
BIT_LENGTH('ม');
Resultaat:
+----------------------+-------------------+ | BIT_LENGTH('ม้') | BIT_LENGTH('ม') | +----------------------+-------------------+ | 48 | 24 | +----------------------+-------------------+
Onjuist argumenttype
Als het argument geen string is, wordt het geconverteerd naar string.
Voorbeeld:
SELECT
BIT_LENGTH(1),
BIT_LENGTH(12),
BIT_LENGTH(123);
Resultaat:
+---------------+----------------+-----------------+ | BIT_LENGTH(1) | BIT_LENGTH(12) | BIT_LENGTH(123) | +---------------+----------------+-----------------+ | 8 | 16 | 24 | +---------------+----------------+-----------------+
Nullargumenten
Doorgeven van null
retourneert null
:
SELECT BIT_LENGTH(null);
Resultaat:
+------------------+ | BIT_LENGTH(null) | +------------------+ | NULL | +------------------+
Ontbrekend argument
Aanroepen van BIT_LENGTH()
zonder een argument door te geven resulteert in een fout:
SELECT BIT_LENGTH();
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'BIT_LENGTH'