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!