In MariaDB OCTET_LENGTH() ist eine integrierte Zeichenfolgenfunktion, die die Länge des angegebenen Zeichenfolgenarguments zurückgibt, gemessen in Oktetten (Bytes).
OCTET_LENGTH() ist ein Synonym für LENGTHB() .
Es ist auch ein Synonym für LENGTH() wenn nicht im Oracle-Modus (LENGTH() verhält sich im Oracle-Modus anders).
Syntax
Die Syntax sieht so aus:
OCTET_LENGTH(str)
Wobei str ist die Zeichenfolge, für die die Länge zurückgegeben wird.
Beispiel
Hier ist ein einfaches Beispiel:
SELECT OCTET_LENGTH('café'); Ergebnis:
+-----------------------+
| OCTET_LENGTH('café') |
+-----------------------+
| 5 |
+-----------------------+
In diesem Fall war der String vier Zeichen lang, aber OCTET_LENGTH() gab 5 zurück . Dies liegt daran, dass das letzte Zeichen zwei Oktette/Bytes verwendet.
Vergleich mit CHAR_LENGTH() und BIT_LENGTH()
Hier ist ein schneller Vergleich zwischen OCTET_LENGTH() , CHAR_LENGTH() (was die Anzahl der Zeichen zurückgibt im String) und BIT_LENGTH() (was die Anzahl der Bits zurückgibt im String):
SELECT
OCTET_LENGTH('อ'),
CHAR_LENGTH('อ'),
BIT_LENGTH('อ'); Ergebnis:
+---------------------+--------------------+-------------------+
| OCTET_LENGTH('อ') | CHAR_LENGTH('อ') | BIT_LENGTH('อ') |
+---------------------+--------------------+-------------------+
| 3 | 1 | 24 |
+---------------------+--------------------+-------------------+
Dieses thailändische Zeichen (อ ) verwendet 3 Bytes und daher OCTET_LENGTH() gibt 3 zurück .
CHAR_LENGTH() gibt die Anzahl der Zeichen zurück (1 ) und BIT_LENGTH() gibt die Anzahl der Bits zurück (24 ).
Nicht-Strings
Wenn das Argument kein String ist, wird es in einen String umgewandelt.
Hier ist ein weiteres Beispiel, das eine Zahl verwendet:
SELECT OCTET_LENGTH(1234); Ergebnis:
+--------------------+ | OCTET_LENGTH(1234) | +--------------------+ | 4 | +--------------------+
Null-Argumente
Übergabe von null gibt null zurück :
SELECT OCTET_LENGTH(null); Ergebnis:
+--------------------+ | OCTET_LENGTH(null) | +--------------------+ | NULL | +--------------------+
Fehlendes Argument
Aufruf von OCTET_LENGTH() ohne Übergabe eines Arguments führt zu einem Fehler:
SELECT OCTET_LENGTH(); Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'OCTET_LENGTH'