sql >> Databáze >  >> RDS >> MariaDB

Jak funguje BIT_LENGTH() v MariaDB

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'

  1. Jak STRCMP() funguje v MariaDB

  2. Oracle Kombinujte několik sloupců do jednoho

  3. Získejte záznamy s maximální hodnotou pro každou skupinu seskupených výsledků SQL

  4. Jak na serveru SQL Server najdu všude, kde se odkazuje na sloupec?