In MariaDB, OCTET_LENGTH() is een ingebouwde tekenreeksfunctie die de lengte van het gegeven tekenreeksargument retourneert, gemeten in octetten (bytes).
OCTET_LENGTH() is een synoniem voor LENGTHB() .
Het is ook een synoniem voor LENGTH() wanneer niet in Oracle-modus (LENGTH() gedraagt zich anders in Oracle-modus).
Syntaxis
De syntaxis gaat als volgt:
OCTET_LENGTH(str)
Waar str is de tekenreeks waarvoor de lengte wordt geretourneerd.
Voorbeeld
Hier is een eenvoudig voorbeeld:
SELECT OCTET_LENGTH('café'); Resultaat:
+-----------------------+
| OCTET_LENGTH('café') |
+-----------------------+
| 5 |
+-----------------------+
In dit geval was de tekenreeks vier tekens lang, maar OCTET_LENGTH() 5 geretourneerd . Dit komt omdat het laatste teken twee octetten/bytes gebruikt.
Vergelijking met CHAR_LENGTH() en BIT_LENGTH()
Hier is een snelle vergelijking tussen OCTET_LENGTH() , CHAR_LENGTH() (wat het aantal tekens retourneert in de string) en BIT_LENGTH() (wat het aantal bits retourneert in de string):
SELECT
OCTET_LENGTH('อ'),
CHAR_LENGTH('อ'),
BIT_LENGTH('อ'); Resultaat:
+---------------------+--------------------+-------------------+
| OCTET_LENGTH('อ') | CHAR_LENGTH('อ') | BIT_LENGTH('อ') |
+---------------------+--------------------+-------------------+
| 3 | 1 | 24 |
+---------------------+--------------------+-------------------+
Dit Thaise karakter (อ ) gebruikt 3 bytes, en daarom OCTET_LENGTH() retourneert 3 .
CHAR_LENGTH() geeft het aantal tekens terug (1 ), 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 OCTET_LENGTH(1234); Resultaat:
+--------------------+ | OCTET_LENGTH(1234) | +--------------------+ | 4 | +--------------------+
Nullargumenten
Doorgeven van null retourneert null :
SELECT OCTET_LENGTH(null); Resultaat:
+--------------------+ | OCTET_LENGTH(null) | +--------------------+ | NULL | +--------------------+
Ontbrekend argument
Aanroepen van OCTET_LENGTH() zonder een argument door te geven resulteert in een fout:
SELECT OCTET_LENGTH(); Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'OCTET_LENGTH'