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

MariaDB LENGTHB() Forklaret

I MariaDB, LENGTHB() er en indbygget strengfunktion, der returnerer længden af ​​det givne strengargument, målt i bytes.

Syntaks

Syntaksen ser sådan ud:

LENGTHB(str)

Hvor str er den streng, som længden vil blive returneret for.

Eksempel

Her er et grundlæggende eksempel:

SELECT LENGTHB('café');

Resultat:

+------------------+
| LENGTHB('café')  |
+------------------+
|                5 |
+------------------+

I dette tilfælde var strengen fire tegn lang, men LENGTHB() returnerede 5 . Dette skyldes, at det sidste tegn bruger to bytes.

Sammenligning med CHAR_LENGTH() og BIT_LENGTH()

Her er en hurtig sammenligning mellem LENGTHB() , CHAR_LENGTH() (som returnerer antallet af tegn i strengen) og BIT_LENGTH() (som returnerer antallet af bits i strengen):

SELECT 
    LENGTHB('อ'),
    CHAR_LENGTH('อ'),
    BIT_LENGTH('อ');

Resultat:

+----------------+--------------------+-------------------+
| LENGTHB('อ')   | CHAR_LENGTH('อ')   | BIT_LENGTH('อ')   |
+----------------+--------------------+-------------------+
|              3 |                  1 |                24 |
+----------------+--------------------+-------------------+

Dette thailandske tegn ( ) bruger 3 bytes, og derfor LENGTHB() returnerer 3 .

CHAR_LENGTH() returnerer 1 , fordi det stadig kun er et enkelt tegn og BIT_LENGTH() returnerer antallet af bit (24 ).

Ikke-strenge

Hvis argumentet ikke er en streng, konverteres det til en streng.

Her er et andet eksempel, der bruger et tal:

SELECT LENGTHB(1234);

Resultat:

+---------------+
| LENGTHB(1234) |
+---------------+
|             4 |
+---------------+

Nul-argumenter

Sender null returnerer null :

SELECT LENGTHB(null);

Resultat:

+---------------+
| LENGTHB(null) |
+---------------+
|          NULL |
+---------------+

Manglende argument

Kalder LENGTHB() uden at sende et argument resulterer i en fejl:

SELECT LENGTHB();

Resultat:

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

LENGTHB() vs LENGTH()

LENGTHB() funktionen ligner LENGTH() funktion, bortset fra hvordan det fungerer i Oracle-tilstand.

LENGTHB() funktion fungerer på samme måde, uanset hvilken tilstand den er i (dvs. den returnerer antallet af bytes i strengen).

LENGTH() på den anden side opfører sig anderledes, afhængigt af om den er i Oracle-tilstand eller standardtilstand.

Specifikt, når du er i standardtilstand, LENGTH() måler strengen i bytes. Men når den er i Oracle-tilstand, måler den strengen i tegn .


  1. Sådan opretter du tabel ved at bruge GUI i SQL Server - SQL Server / T-SQL Tutorial Del 37

  2. Sådan testes for overlappende datoer i PostgreSQL

  3. MariaDB CURRENT_TIMESTAMP() Forklaret

  4. Hvordan opretter man tabel ved hjælp af udvælgelsesforespørgsel i SQL Server?