In MariaDB, LENGTHB()
è una funzione stringa incorporata che restituisce la lunghezza dell'argomento stringa specificato, misurata in byte.
Sintassi
La sintassi è questa:
LENGTHB(str)
Dove str
è la stringa per la quale verrà restituita la lunghezza.
Esempio
Ecco un esempio di base:
SELECT LENGTHB('café');
Risultato:
+------------------+ | LENGTHB('café') | +------------------+ | 5 | +------------------+
In questo caso, la stringa era lunga quattro caratteri, ma LENGTHB()
restituito 5
. Questo perché l'ultimo carattere utilizza due byte.
Confronto con CHAR_LENGTH()
e BIT_LENGTH()
Ecco un rapido confronto tra LENGTHB()
, CHAR_LENGTH()
(che restituisce il numero di caratteri nella stringa) e BIT_LENGTH()
(che restituisce il numero di bit nella stringa):
SELECT
LENGTHB('อ'),
CHAR_LENGTH('อ'),
BIT_LENGTH('อ');
Risultato:
+----------------+--------------------+-------------------+ | LENGTHB('อ') | CHAR_LENGTH('อ') | BIT_LENGTH('อ') | +----------------+--------------------+-------------------+ | 3 | 1 | 24 | +----------------+--------------------+-------------------+
Questo carattere tailandese (อ
) utilizza 3 byte, e quindi LENGTHB()
restituisce 3
.
CHAR_LENGTH()
restituisce 1
, perché è ancora solo un singolo carattere e BIT_LENGTH()
restituisce il numero di bit (24
).
Non stringhe
Se l'argomento non è una stringa, viene convertito in una stringa.
Ecco un altro esempio che utilizza un numero:
SELECT LENGTHB(1234);
Risultato:
+---------------+ | LENGTHB(1234) | +---------------+ | 4 | +---------------+
Argomenti nulli
Passaggio null
restituisce null
:
SELECT LENGTHB(null);
Risultato:
+---------------+ | LENGTHB(null) | +---------------+ | NULL | +---------------+
Argomento mancante
Chiamando LENGTHB()
senza passare un argomento si ottiene un errore:
SELECT LENGTHB();
Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LENGTHB'
LENGTHB()
rispetto a LENGTH()
Il LENGTHB()
la funzione è simile a LENGTH()
funzione, ad eccezione di come funziona in modalità Oracle.
Il LENGTHB()
la funzione funziona allo stesso modo, indipendentemente dalla modalità in cui si trova (cioè restituisce il numero di byte nella stringa).
LENGTH()
dall'altro si comporta in modo diverso, a seconda che sia in modalità Oracle o in modalità predefinita.
In particolare, in modalità predefinita, LENGTH()
misura la stringa in byte. Ma quando è in modalità Oracle, misura la stringa in caratteri .