sql >> Databasteknik >  >> RDS >> MariaDB

MariaDB LENGTHB() Förklarad

I MariaDB, LENGTHB() är en inbyggd strängfunktion som returnerar längden på det givna strängargumentet, mätt i byte.

Syntax

Syntaxen ser ut så här:

LENGTHB(str)

Där str är strängen för vilken längden kommer att returneras.

Exempel

Här är ett grundläggande exempel:

SELECT LENGTHB('café');

Resultat:

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

I det här fallet var strängen fyra tecken lång, men LENGTHB() returnerade 5 . Detta beror på att det sista tecknet använder två byte.

Jämförelse med CHAR_LENGTH() och BIT_LENGTH()

Här är en snabb jämförelse mellan LENGTHB() , CHAR_LENGTH() (som returnerar antalet tecken i strängen) och BIT_LENGTH() (som returnerar antalet bitar i strängen):

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

Resultat:

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

Detta thailändska tecken ( ) använder 3 byte, och därför LENGTHB() returnerar 3 .

CHAR_LENGTH() returnerar 1 , eftersom det fortfarande bara är ett enda tecken och BIT_LENGTH() returnerar antalet bitar (24 ).

Icke-strängar

Om argumentet inte är en sträng, konverteras det till en sträng.

Här är ett annat exempel som använder ett nummer:

SELECT LENGTHB(1234);

Resultat:

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

Nollargument

Skickar null returnerar null :

SELECT LENGTHB(null);

Resultat:

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

Argument saknas

Anropar LENGTHB() utan att skicka ett argument resulterar det i ett fel:

SELECT LENGTHB();

Resultat:

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

LENGTHB() kontra LENGTH()

LENGTHB() funktionen liknar LENGTH() funktion, förutom hur det fungerar i Oracle-läge.

LENGTHB() Funktionen fungerar på samma sätt, oavsett vilket läge den är i (dvs. den returnerar antalet byte i strängen).

LENGTH() å andra sidan beter sig olika, beroende på om det är i Oracle-läge eller standardläge.

Närmare bestämt, i standardläge, LENGTH() mäter strängen i byte. Men i Oracle-läge mäter den strängen i tecken .


  1. Öka prestanda med Bulk Collect i Oracle

  2. Konvertera SELECT DISTINCT ON-frågor från Postgresql till MySQL

  3. Jämför PHP-databasabstraktionslager och CRUD-plugins

  4. Hur man genererar ett slumpmässigt heltal inom ett intervall i MariaDB