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

Come funziona BIT_LENGTH() in MariaDB

In MariaDB, BIT_LENGTH() è una funzione stringa incorporata che restituisce la lunghezza dell'argomento stringa specificato in bit.

Fornisci la stringa come argomento quando chiami la funzione.

Sintassi

La sintassi è questa:

BIT_LENGTH(str)

Dove str è la stringa.

Esempio

Ecco un semplice esempio:

SELECT BIT_LENGTH('A');

Risultato:

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

Possiamo vedere che la lettera A è lunga 8 bit (cioè 1 byte).

Ecco un esempio che utilizza caratteri più lunghi di 1 byte:

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

Risultato:

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

La seconda e la terza stringa sono caratteri tailandesi. La terza stringa utilizza un segno diacritico, che finisce per raddoppiare il numero di bit restituiti.

Ecco quel personaggio con e senza il segno diacritico:

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

Risultato:

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

Tipo di argomento errato

Se l'argomento non è una stringa, verrà convertito in stringa.

Esempio:

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

Risultato:

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

Argomenti nulli

Passaggio null restituisce null :

SELECT BIT_LENGTH(null);

Risultato:

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

Argomento mancante

Chiamando BIT_LENGTH() senza passare un argomento si ottiene un errore:

SELECT BIT_LENGTH();

Risultato:

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