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

Spiegazione di MariaDB LENGTHB()

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 .