Heim  >  Artikel  >  Datenbank  >  Detaillierte Erläuterung der Verwendung der Funktion CHARACTER_LENGTH() in MySQL

Detaillierte Erläuterung der Verwendung der Funktion CHARACTER_LENGTH() in MySQL

藏色散人
藏色散人Original
2019-04-25 17:06:098030Durchsuche

In MySQL gibt die Funktion CHARACTER_LENGTH() die Länge der Zeichenfolge in Zeichen zurück.

CHARACTER_LENGTH() ist ein Synonym für die Funktion CHAR_LENGTH().

Die Syntax lautet wie folgt:

CHARACTER_LENGTH(str)

wobei str die Zeichenfolge mit der zurückgegebenen Länge ist.

Beispiel 1 – Grundlegende Verwendung

Das Folgende ist ein Beispiel für die grundlegende Verwendung:

SELECT CHARACTER_LENGTH('Cat');

Das Ergebnis sieht so aus:

+-------------------------+
| CHARACTER_LENGTH('Cat') |
+-------------------------+
|                       3 |
+-------------------------+

Beispiel 2 – Leerzeichen am Ende

Beachten Sie, dass CHARACTER_LENGTH() nachfolgende Leerzeichen (z. B. Leerzeichen am Ende einer Zeichenfolge) in seine Berechnungen einbezieht.

Wenn wir also am Ende des vorherigen Beispiels Leerzeichen hinzufügen:

SELECT CHARACTER_LENGTH('Cat ');

Ergebnis:

+--------------------------+
| CHARACTER_LENGTH('Cat ') |
+--------------------------+
|                        4 |
+--------------------------+

Aber wir können die TRIM()-Funktion oder die RTRIM()-Funktion verwenden, um Folgendes zu entfernen Leerzeichen:

SELECT 
  CHARACTER_LENGTH(TRIM('Cat ')) AS 'TRIM',
  CHARACTER_LENGTH(RTRIM('Cat ')) AS 'RTRIM';

Ergebnis:

+------+-------+
| TRIM | RTRIM |
+------+-------+
|    3 |     3 |
+------+-------+

Beispiel 3 – Leerzeichen vorangestellt

Das gleiche Konzept gilt für vorangehende Leerzeichen. Sie können TRIM oder LTRIM verwenden:

SELECT 
  CHARACTER_LENGTH(TRIM(' Cat')) AS 'TRIM',
  CHARACTER_LENGTH(LTRIM(' Cat')) AS 'LTRIM';

Ergebnis:

+------+-------+
| TRIM | LTRIM |
+------+-------+
|    3 |     3 |
+------+-------+

Beispiel 4 – Datentyp

Egal welcher Datentyp die Zeichenfolge ist in gespeichert ist, wird alles das gleiche Ergebnis liefern. Dies steht im Gegensatz zur Funktion LENGTH(), die die doppelte Anzahl an Zeichen zurückgibt, wenn die Daten als Unicode-Zeichenfolge gespeichert werden.

Im folgenden Beispiel verwendet die ArtistName-Spalte varchar(255):

SELECT CHARACTER_LENGTH(ArtistName) Result
FROM Artists
WHERE ArtistName = 'Lit';

Das Ergebnis:

+--------+
| Result |
+--------+
|      3 |
+--------+

Wenn wir die ArtistName-Spalte so ändern, dass sie Unicode verwendet:

ALTER TABLE Artists 
MODIFY COLUMN ArtistName VARCHAR(255) unicode;

und führen Sie dieselbe Abfrage erneut aus:

SELECT CHARACTER_LENGTH(ArtistName) 
FROM Artists
WHERE ArtistName = 'Lit';

Wir erhalten immer noch das gleiche Ergebnis:

+--------+
| Result |
+--------+
|      3 |
+--------+

Wenn wir jedoch die Funktion LENGTH() verwenden, ist das Ergebnis 6. Dies liegt daran, dass Unicode-Strings 2 Bytes pro Zeichen speichern und die Funktion LENGTH() die in Bytes gemessene Länge zurückgibt.

Verwandte Empfehlungen: „MySQL-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung der Funktion CHARACTER_LENGTH() in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn