Heim > Datenbank > MySQL-Tutorial > Hauptteil

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

藏色散人
Freigeben: 2019-04-25 17:06:09
Original
8047 Leute haben es durchsucht

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)
Nach dem Login kopieren

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');
Nach dem Login kopieren

Das Ergebnis sieht so aus:

+-------------------------+
| CHARACTER_LENGTH('Cat') |
+-------------------------+
|                       3 |
+-------------------------+
Nach dem Login kopieren

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 ');
Nach dem Login kopieren

Ergebnis:

+--------------------------+
| CHARACTER_LENGTH('Cat ') |
+--------------------------+
|                        4 |
+--------------------------+
Nach dem Login kopieren

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';
Nach dem Login kopieren

Ergebnis:

+------+-------+
| TRIM | RTRIM |
+------+-------+
|    3 |     3 |
+------+-------+
Nach dem Login kopieren

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';
Nach dem Login kopieren

Ergebnis:

+------+-------+
| TRIM | LTRIM |
+------+-------+
|    3 |     3 |
+------+-------+
Nach dem Login kopieren

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';
Nach dem Login kopieren

Das Ergebnis:

+--------+
| Result |
+--------+
|      3 |
+--------+
Nach dem Login kopieren
Nach dem Login kopieren

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

ALTER TABLE Artists 
MODIFY COLUMN ArtistName VARCHAR(255) unicode;
Nach dem Login kopieren

und führen Sie dieselbe Abfrage erneut aus:

SELECT CHARACTER_LENGTH(ArtistName) 
FROM Artists
WHERE ArtistName = 'Lit';
Nach dem Login kopieren

Wir erhalten immer noch das gleiche Ergebnis:

+--------+
| Result |
+--------+
|      3 |
+--------+
Nach dem Login kopieren
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage