MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Wie OCTET_LENGTH() in MariaDB funktioniert

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'