In MariaDB, LENGTHB()
is een ingebouwde tekenreeksfunctie die de lengte van het gegeven tekenreeksargument retourneert, gemeten in bytes.
Syntaxis
De syntaxis gaat als volgt:
LENGTHB(str)
Waar str
is de tekenreeks waarvoor de lengte wordt geretourneerd.
Voorbeeld
Hier is een eenvoudig voorbeeld:
SELECT LENGTHB('café');
Resultaat:
+------------------+ | LENGTHB('café') | +------------------+ | 5 | +------------------+
In dit geval was de tekenreeks vier tekens lang, maar LENGTHB()
5
geretourneerd . Dit komt omdat het laatste teken twee bytes gebruikt.
Vergelijking met CHAR_LENGTH()
en BIT_LENGTH()
Hier is een snelle vergelijking tussen LENGTHB()
, CHAR_LENGTH()
(wat het aantal tekens retourneert in de string) en BIT_LENGTH()
(wat het aantal bits retourneert in de string):
SELECT
LENGTHB('อ'),
CHAR_LENGTH('อ'),
BIT_LENGTH('อ');
Resultaat:
+----------------+--------------------+-------------------+ | LENGTHB('อ') | CHAR_LENGTH('อ') | BIT_LENGTH('อ') | +----------------+--------------------+-------------------+ | 3 | 1 | 24 | +----------------+--------------------+-------------------+
Dit Thaise karakter (อ
) gebruikt 3 bytes, en daarom LENGTHB()
retourneert 3
.
CHAR_LENGTH()
retourneert 1
, omdat het nog steeds maar een enkel teken is, en BIT_LENGTH()
geeft het aantal bits terug (24
).
Niet-strings
Als het argument geen string is, wordt het geconverteerd naar een string.
Hier is nog een voorbeeld dat een getal gebruikt:
SELECT LENGTHB(1234);
Resultaat:
+---------------+ | LENGTHB(1234) | +---------------+ | 4 | +---------------+
Nullargumenten
Doorgeven van null
retourneert null
:
SELECT LENGTHB(null);
Resultaat:
+---------------+ | LENGTHB(null) | +---------------+ | NULL | +---------------+
Ontbrekend argument
LENGTHB()
. aanroepen zonder een argument door te geven resulteert in een fout:
SELECT LENGTHB();
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LENGTHB'
LENGTHB()
vs LENGTH()
De LENGTHB()
functie is vergelijkbaar met de LENGTH()
functie, behalve hoe het werkt in Oracle-modus.
De LENGTHB()
functie werkt op dezelfde manier, ongeacht in welke modus deze zich bevindt (d.w.z. het geeft het aantal bytes in de string terug).
LENGTH()
aan de andere kant, gedraagt zich anders, afhankelijk van of het in Oracle-modus of standaardmodus is.
In het bijzonder, in de standaardmodus, LENGTH()
meet de string in bytes. Maar in Oracle-modus meet het de string in tekens .