In diesem Tutorial werden wir uns ansehen, wie Sie vordefinierte MySQL-Funktionen verwenden, um die Länge einer Zeichenfolge zu bestimmen.
Die Grundlagen
Ohne tief in Charakter -Sets eintauchen, unterstützt MySQL eine große Auswahl von Zeichensätzen. Jedes Zeichensatz enthält eine maximale Länge von Bytes, die es pro Charakter speichern kann.
Um mehr über das unterstützte Zeichensatz und ihre maximale Länge zu erfahren, verwenden Sie die unten angegebene Ressource:
https: // dev.Mysql.com/doc/refman/8.0/en/charset-char Sets.html
In MySQL kann sich eine Zeichenfolge in jedem der unterstützten Zeichensätze befinden. Um die Länge einer Zeichenfolge zu bestimmen, können Sie die Bytes -Methode oder die Zeichenmethode verwenden.
Die Bytes -Methode gibt die Länge der angegebenen Zeichenfolge in Bytes zurück. Wenn eine Zeichenfolge einen Satz von 1-Byte-Zeichen enthält, entspricht die Länge der Zeichenfolge der Anzahl der Zeichen.
Wenn die angegebene Zeichenfolge jedoch Multi-Byte-Zeichen enthält, entspricht die Anzahl der Zeichen nicht der Länge der Zeichenfolge.
Verwenden Sie mySQL charakter_length ()
Um die Länge einer Zeichenfolge in Zeichen zu erhalten, können Sie die Funktion charakter_length () verwenden. Diese Funktion ist ein Synonym der Funktion char_length (). Es funktioniert, indem es die Anzahl der Zeichen in einer Zeichenfolge zählt, unabhängig davon, ob es sich um einen Einzelbyte- oder Multi-Byte-Zeichen handelt.
Nehmen wir die Landtabelle in der Sakila -Datenbank ein. Um die Länge der Ländernamen -Saiten zu erhalten, können wir eine Abfrage verwenden wie:
Wählen Sie Land, char_length (Land) als LängeDie obige Abfrage sollte die Länge der Ländernamen zurückgeben.
Verwenden Sie MySQL Länge ()
Um die Länge einer Zeichenfolge in Bytes zu erhalten, verwenden wir die Länge () -Funktion. In diesem Fall berücksichtigt die Funktion, ob es sich um einen Einzelbyte- oder Multi-Byte-Zeichen handelt.
Wir können das obige Beispiel anwenden, wie in der folgenden Abfrage gezeigt:
Wählen Sie Land, Länge (Land) als LängeIn diesem Beispiel befinden sich die Werte in Bytes anstelle von Zeichen. Da die obigen Beispiele Einzelbyte-Zeichen verwenden, können Sie den Unterschied möglicherweise nicht bemerken.
Bei einem Multi-Byte-Charakter als Kanji-Wert für das Land sind die Werte jedoch unterschiedlich.
Betrachten Sie die folgende Abfrage:
Wählen Sie char_length ('国') als Länge_in_char;Sobald wir die obige Abfrage ausgeführt haben, sollten wir die Länge als 1 erhalten.
+----------------+Betrachten Sie die gleiche Abfrage unter Verwendung der Länge () -Funktion.
Wählen Sie Länge ('国') als Länge_in_Bytes;In diesem Fall beträgt die Länge 3.
+-----------------+Abschluss
Diese Anleitung hat Ihnen gezeigt, wie Sie die integrierten MySQL-Funktionen verwenden, um die Länge einer Zeichenfolge in Bytes und Zeichen zu erhalten.
Vielen Dank für das Lesen!