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'