sql >> Database teknologi >  >> RDS >> MariaDB

Sådan fungerer BIT_LENGTH() i MariaDB

I MariaDB, BIT_LENGTH() er en indbygget strengfunktion, der returnerer længden af ​​det givne strengargument i bits.

Du angiver strengen som et argument, når du kalder funktionen.

Syntaks

Syntaksen ser sådan ud:

BIT_LENGTH(str)

Hvor str er strengen.

Eksempel

Her er et simpelt eksempel:

SELECT BIT_LENGTH('A');

Resultat:

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

Vi kan se, at bogstavet A er 8 bit langt (dvs. 1 byte).

Her er et eksempel, der bruger tegn, der er længere end 1 byte:

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

Resultat:

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

Den anden og tredje streng er thailandske tegn. Den tredje streng bruger et diakritisk mærke, som ender med at fordoble antallet af returnerede bits.

Her er den karakter med og uden det diakritiske tegn:

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

Resultat:

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

Forkert argumenttype

Hvis argumentet ikke er en streng, vil det blive konverteret til streng.

Eksempel:

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

Resultat:

+---------------+----------------+-----------------+
| BIT_LENGTH(1) | BIT_LENGTH(12) | BIT_LENGTH(123) |
+---------------+----------------+-----------------+
|             8 |             16 |              24 |
+---------------+----------------+-----------------+

Nul-argumenter

Sender null returnerer null :

SELECT BIT_LENGTH(null);

Resultat:

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

Manglende argument

Kalder BIT_LENGTH() uden at sende et argument resulterer det i en fejl:

SELECT BIT_LENGTH();

Resultat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'BIT_LENGTH'

  1. Hvad er Database and Relational Database Management System (RDBMS)

  2. Hvordan genererer jeg et tilfældigt tal for hver række i en T-SQL-selektion?

  3. Automatisk stigning i tabelkolonnen

  4. Hvordan laver man en forespørgsel uden store og små bogstaver i Postgresql?