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'