sql >> Database >  >> RDS >> MariaDB

Hoe BIT_LENGTH() werkt in MariaDB

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'

  1. Hoe CHAR_LENGTH() werkt in MariaDB

  2. EXCEPT-clausule gebruiken in PostgreSQL

  3. Brent Ozar legt interne en externe fragmentatie van SQL Server uit

  4. Komt SQL 'EN' of 'OF' eerst?