V MariaDB, BIT_LENGTH()
je vestavěná řetězcová funkce, která vrací délku daného řetězcového argumentu v bitech.
Při volání funkce zadáte řetězec jako argument.
Syntaxe
Syntaxe vypadá takto:
BIT_LENGTH(str)
Kde str
je řetězec.
Příklad
Zde je jednoduchý příklad:
SELECT BIT_LENGTH('A');
Výsledek:
+-----------------+ | BIT_LENGTH('A') | +-----------------+ | 8 | +-----------------+
Vidíme, že písmeno A je dlouhé 8 bitů (tj. 1 bajt).
Zde je příklad, který používá znaky delší než 1 bajt:
SELECT
BIT_LENGTH('©'),
BIT_LENGTH('ไ'),
BIT_LENGTH('ม้');
Výsledek:
+------------------+-------------------+----------------------+ | BIT_LENGTH('©') | BIT_LENGTH('ไ') | BIT_LENGTH('ม้') | +------------------+-------------------+----------------------+ | 16 | 24 | 48 | +------------------+-------------------+----------------------+
Druhý a třetí řetězec jsou thajské znaky. Třetí řetězec používá diakritické znaménko, které končí zdvojnásobením počtu vrácených bitů.
Zde je znak s diakritickým znaménkem a bez něj:
SELECT
BIT_LENGTH('ม้'),
BIT_LENGTH('ม');
Výsledek:
+----------------------+-------------------+ | BIT_LENGTH('ม้') | BIT_LENGTH('ม') | +----------------------+-------------------+ | 48 | 24 | +----------------------+-------------------+
Chybný typ argumentu
Pokud argument není řetězec, bude převeden na řetězec.
Příklad:
SELECT
BIT_LENGTH(1),
BIT_LENGTH(12),
BIT_LENGTH(123);
Výsledek:
+---------------+----------------+-----------------+ | BIT_LENGTH(1) | BIT_LENGTH(12) | BIT_LENGTH(123) | +---------------+----------------+-----------------+ | 8 | 16 | 24 | +---------------+----------------+-----------------+
Nulové argumenty
Předávání null
vrátí null
:
SELECT BIT_LENGTH(null);
Výsledek:
+------------------+ | BIT_LENGTH(null) | +------------------+ | NULL | +------------------+
Chybí argument
Volání BIT_LENGTH()
bez předání argumentu dojde k chybě:
SELECT BIT_LENGTH();
Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'BIT_LENGTH'