Heim  >  Artikel  >  Datenbank  >  Wie misst die MySQL-Funktion LENGTH() die Stringlänge?

Wie misst die MySQL-Funktion LENGTH() die Stringlänge?

WBOY
WBOYnach vorne
2023-09-02 16:45:021388Durchsuche

MySQL LENGTH() 函数如何测量字符串长度?

Die MySQL LENGTH()-Funktion misst die Stringlänge in „Bytes“, was bedeutet, dass sie nicht multibytesicher ist. Der Unterschied in den Ergebnissen zwischen Multibyte-sicheren Funktionen wie CHAR_LENGTH() oder CHARACTER_LENGTH() und der Funktion LENGTH() ist besonders relevant für Unicode, wo die meisten Zeichen in zwei Bytes kodiert sind, oder für UTF-8. Die Anzahl der Bytes variiert . Wenn die Zeichenfolge beispielsweise vier 2-Byte-Zeichen enthält, gibt die Funktion LENGTH() 8 zurück und die Funktion CHAR_LENGTH() oder CHARACTER_LENGTH() gibt 4 zurück. Wie im Beispiel unten gezeigt -

Beispiel

mysql> Select LENGTH('tutorialspoint');
+--------------------------+
| LENGTH('tutorialspoint') |
+--------------------------+
|                       14 |
+--------------------------+
1 row in set (0.00 sec)

Die obige Ergebnismenge zeigt, dass die Länge der Zeichenfolge „tutorialspoint“ 14 beträgt, da sie nicht in Unicode-Zeichen konvertiert wurde. Die folgende Abfrage konvertiert es in Unicode-Zeichen –

mysql> SET @A = CONVERT('tutorialspoint' USING ucs2);
Query OK, 0 rows affected (0.02 sec)

Nach der Konvertierung der Zeichenfolge in Unicode ist das Ergebnis 28 statt 14, da in Unicode ein einzelnes Zeichen 2 Bytes benötigt, wie unten gezeigt –

mysql> Select LENGTH(@A);
+------------+
| LENGTH(@A) |
+------------+
|         28 |
+------------+
1 row in set (0.00 sec)

Aber CHAR_LENGTH() Das angegebene Ergebnis ist 14, da es sich um eine Multibyte-sichere Funktion handelt, wie unten gezeigt -

mysql> Select CHAR_LENGTH(@A);
+-----------------+
| CHAR_LENGTH(@A) |
+-----------------+
|              14 |
+-----------------+
1 row in set (0.00 sec)

Das obige ist der detaillierte Inhalt vonWie misst die MySQL-Funktion LENGTH() die Stringlänge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen