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'