Detaillierte Erläuterung der zehn am häufigsten verwendeten Zeichenfolgenfunktionen in MySQL

Detaillierte Erläuterung der zehn am häufigsten verwendeten Zeichenfolgenfunktionen in MySQL

MySQL

Hallo zusammen! Ich bin Mr. Tony, der nur über Techniken spricht und keine Haare schneidet.

Eine Datenbankfunktion ist ein Modul, das über eine bestimmte Funktionalität verfügt, null oder mehr Eingabewerte empfangen und einen Ausgabewert zurückgeben kann. MySQL stellt uns viele Systemfunktionen zur Verarbeitung und Analyse von Daten zur Verfügung. Dieser Artikel stellt 10 häufig verwendete Zeichenfolgenfunktionen und andere verwandte Funktionen vor.

CONCAT()

CONCAT(str1,str2,…)) wird verwendet, um eine Zeichenfolge zurückzugeben, nachdem mehrere Zeichenfolgen verkettet wurden, zum Beispiel:

SELECT CONCAT('MySQL', 'Zeichenfolge', 'Funktion') AS str;
str |
--------------+
MySQL-String-Funktionen |

Wenn ein beliebiger Parameter in dieser Funktion NULL ist, ist das Rückgabeergebnis NULL. Zum Beispiel:

SELECT CONCAT('MySQL', NULL, 'Funktion') AS str;
str|
---+
   |

Bei Zeichenfolgenkonstanten können wir diese auch direkt miteinander verketten. Zum Beispiel:

SELECT 'MySQL' 'Zeichenfolge' 'Funktion' AS str;
str |
--------------+
MySQL-String-Funktionen |

Die obige Methode kann nur zum Verbinden von Zeichenfolgenkonstanten verwendet werden, nicht zum Verbinden von Feldwerten.

📝Wenn der SQL-Modus PIPES_AS_CONCAT aktiviert ist, kann der logische ODER-Operator (||) von MySQL auch zum Verketten von Zeichenfolgen verwendet werden, ähnlich wie bei Oracle und PostgreSQL.

Zusätzlich zur Funktion CONCAT(str1,str2,…)) verkettet CONCAT_WS(separator,str1,str2,…)) mehrere Zeichenfolgen unter Verwendung des angegebenen Trennzeichens separator. Wenn das Trennzeichen NULL ist, wird NULL zurückgegeben. Zum Beispiel:

SELECT CONCAT_WS('-', 'MySQL', NULL, 'Zeichenfolge') AS str1,
       CONCAT_WS(NULL, 'MySQL', 'Zeichenfolge') AS str2;
str1 |str2|
-----------+----+
MySQL-Zeichenfolge | |

UNTERE()

LOWER(str) und LCASE(str) werden verwendet, um eine Zeichenfolge in Kleinbuchstaben umzuwandeln, zum Beispiel:

SELECT LOWER('MySQL-String-Funktion') AS str1, LCASE('MySQL-String-Funktion') AS str2;
str1 |str2 |
--------------+--------------+
MySQL-String-Funktion | MySQL-String-Funktion |

MySQL-Funktionen zur Groß-/Kleinschreibungskonvertierung unterstützen keine Binärzeichenfolgen (BINARY, VARBINARY, BLOB) und können vor der Verarbeitung in nicht-binäre Zeichenfolgen konvertiert werden. Zum Beispiel:

SELECT LOWER(BINARY 'MySQL-String-Funktion') AS str1,
       LOWER(CONVERT(BINARY 'MySQL-String-Funktion' USING utf8mb4)) AS str2;
str1 |str2 |
-------------------+-------------+
MySQL-String-Funktion |

OBERE()

UPPER(str) und UCASE(str) werden verwendet, um eine Zeichenfolge in Großbuchstaben umzuwandeln, zum Beispiel:

SELECT UPPER('MySQL-String-Funktion') AS str1, UCASE('MySQL-String-Funktion') AS str2;
str1 |str2 |
--------------+--------------+
MYSQL-String-Funktion |MYSQL-String-Funktion |

LÄNGE()

LENGTH(str) und OCTET_LENGTH(str) werden verwendet, um die Bytelänge einer Zeichenfolge zurückzugeben, zum Beispiel:

SELECT LENGTH('MySQL-Zeichenfolgenfunktion') AS len1, OCTET_LENGTH('MySQL-Zeichenfolgenfunktion') AS len2;
Länge1|Länge2|
----+----+
  20| 20|

Bei der UTF8MB4-Kodierung belegt ein chinesisches Zeichen 3 Bytes.

Darüber hinaus werden CHAR_LENGTH(str) und CHARACTER_LENGTH(str) verwendet, um die Zeichenlänge einer Zeichenfolge, d. h. die Anzahl der Zeichen, zurückzugeben. Zum Beispiel:

SELECT CHAR_LENGTH('MySQL-Zeichenfolgenfunktion') AS len1, CHARACTER_LENGTH('MySQL-Zeichenfolgenfunktion') AS len2;
Länge1|Länge2|
----+----+
  10| 10|

Mit der Funktion BIT_LENGTH(str) lässt sich die Bitlänge (Anzahl der Bits) eines Strings zurückgeben, zum Beispiel:

SELECT BIT_LENGTH('MySQL-String-Funktion') AS len;
Länge|
---+
160|

Ein Byte besteht aus 8 Bits.

SUBSTRING()

SUBSTRING(str,pos) , SUBSTRING(str FROM pos) , SUBSTRING(str,pos,len) und SUBSTRING(str FROM pos FOR len) können alle verwendet werden, um eine Teilzeichenfolge ab der angegebenen Position pos zurückzugeben. len gibt die Länge der zurückgegebenen Teilzeichenfolge an. Wenn pos 0 ist, wird eine leere Zeichenfolge zurückgegeben. Zum Beispiel:

SELECT SUBSTRING('MySQL-String-Funktion', -2) AS str1,
       SUBSTRING('MySQL-String-Funktion', -5, 3) AS str2;
str1 |str2 |
------+------+
Funktion|Zeichenfolge|

Der Positionsparameter „pos“ kann eine negative Zahl sein. In diesem Fall beginnt die zurückgegebene Teilzeichenfolge mit dem posth-Zeichen auf der rechten Seite der Zeichenfolge. Zum Beispiel:

SELECT LEFT('MySQL-String-Funktion',5) AS str1,
       RECHTS('MySQL-String-Funktion',5) AS str2;
str1 |str2 |
-----+---------+
MySQL|String-Funktionen|

Darüber hinaus sind die Funktionen SUBSTR() und MID() Synonyme der Funktion SUBSTRING() und unterstützen auch die oben genannten 4 Formen.

LEFT(str,len) gibt len ​​Zeichen von der linken Seite der Zeichenfolge str zurück, und RIGHT(str,len) gibt len ​​Zeichen von der rechten Seite der Zeichenfolge str zurück. Zum Beispiel:

SELECT LEFT('MySQL-String-Funktion',5) AS str1,
       RECHTS('MySQL-String-Funktion',5) AS str2;
str1 |str2 |
-----+---------+
MySQL|String-Funktionen|

SUBSTRING_INDEX(str,delim,count) gibt die Teilzeichenfolge vor dem count-ten Trennzeichen delim zurück. Wenn „Anzahl“ eine positive Zahl ist, beginnt „Anzahl“ von links und gibt alle Zeichen auf der linken Seite zurück. Wenn „Anzahl“ eine negative Zahl ist, beginnt „Anzahl“ von rechts und gibt alle Zeichen auf der rechten Seite zurück. Zum Beispiel:

SELECT SUBSTRING_INDEX('Zurück; Zurück; Zurück', ';', 2) AS str1,
       SUBSTRING_INDEX('Zurücksetzen; Zurücksetzen; Zurück', ';', -2) AS str2;
str1 |str2 |
--------+--------+
Zhang San; Li Si|Li Si; Wang Wu|

TRIMMEN()

TRIM([remstr FROM] str) wird verwendet, um die Teilzeichenfolge zurückzugeben, nachdem alle Remstr-Zeichenfolgen auf beiden Seiten der Zeichenfolge str gelöscht wurden. Der Standardwert von remstr ist Leerzeichen. Zum Beispiel:

SELECT TRIM('MySQL-String-Funktion') AS str1,
       TRIM('-' FROM '--MySQL-String-Funktion--') AS str2;
str1 |str2 |
--------------+--------------+
MySQL-String-Funktionen |MySQL-String-Funktionen |

TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) wird verwendet, um die Teilzeichenfolge zurückzugeben, nachdem alle remstr-Zeichenfolgen auf beiden Seiten/linken Seite/rechten Seite der Zeichenfolge str gelöscht wurden. Standardmäßig werden beide Seiten (BOTH) gelöscht, und remstr verwendet standardmäßig Leerzeichen. Zum Beispiel:

SELECT TRIM(LEADING ' ' FROM 'MySQL-Zeichenfolgenfunktion') AS str1,
       TRIM(TRAILING '-' FROM '--MySQL-String-Funktion--') AS str2;
str1 |str2 |
----------------+----------------+
MySQL-String-Funktionen |--MySQL-String-Funktionen |

LPAD()/RPAD()

LPAD(str,len,padstr) gibt an, dass die linke Seite des Strings str mit padstr aufgefüllt wird, bis die Länge len beträgt; RPAD(str,len,padstr) gibt an, dass die rechte Seite des Strings str mit padstr aufgefüllt wird, bis die Länge len beträgt. Zum Beispiel:

Wählen Sie LPAD (123, 6, '0') AS str1, LPAD (123, 2, '0') AS str2,
       RPAD(123, 6, '0') AS str1, RPAD(123, 2, '0') AS str1;
str1 |str2|str1 |str1|
------+----+------+----+
000123|12 |123000|12 |

Wenn die Länge der Zeichenfolge str größer als len ist, entspricht dies dem Abschneiden der Zeichenfolge von rechts.

Darüber hinaus wird die Funktion REPEAT(str,count) verwendet, um den String str anzahl-mal zu kopieren und das Ergebnis zurückzugeben. Zum Beispiel:

Wählen Sie REPEAT('🔥', 5) AS str;
str |
----------+
🔥🔥🔥🔥🔥|

INSTR()

INSTR(str,substr) wird verwendet, um die Indexposition des ersten Vorkommens der Teilzeichenfolge substr in der Zeichenfolge str zurückzugeben, und gibt 0 zurück, wenn die Teilzeichenfolge nicht gefunden wird. Zum Beispiel:

Wählen Sie INSTR('MySQL-Zeichenfolgenfunktion', 'Zeichenfolge') AS index1,
       INSTR('MySQL-String-Funktion', 'Datum') AS index2,
       INSTR('MySQL-Zeichenfolgenfunktion', '') AS index3,
       INSTR('MySQL-String-Funktion', null) AS index4;
Index1|Index2|Index3|Index4|
------+------+------+------+
     6| 0| 1| |

Darüber hinaus kann die Funktion LOCATE(substr,str) auch verwendet werden, um die Indexposition des ersten Vorkommens der Teilzeichenfolge substr in der Zeichenfolge str zurückzugeben. Der einzige Unterschied zur Funktion INSTR(str,substr) besteht darin, dass die Reihenfolge der Parameter umgekehrt ist.

LOCATE(substr,str,pos) gibt die Indexposition des ersten Vorkommens der Teilzeichenfolge substr in der Zeichenfolge str zurück, beginnend bei der Position pos, zum Beispiel:

SELECT LOCATE('S','MySQL Server', 5) AS ind;
ind|
---+
  7|

Die Funktion FIELD(str,str1,str2,str3,…) gibt die Position zurück, an der die Zeichenfolge str in der nachfolgenden Zeichenfolgenliste erscheint, und gibt 0 zurück, wenn sie nicht gefunden wird. Zum Beispiel:

FELD AUSWÄHLEN('Li Si', 'Zhang San', 'Li Si', 'Wang Wu') AS ind;
ind|
---+
  2|

Die Funktion FIND_IN_SET(str,strlist) gibt die Position zurück, an der die Zeichenfolge str in der Listenzeichenfolge strlist erscheint. strlist besteht aus N durch Kommas getrennten Teilzeichenfolgen. Zum Beispiel:

SELECT FIND_IN_SET('Li Si', 'Zhang San, Li Si, Wang Wu') AS ind;
ind|
---+
  2|

ERSETZEN()

Die Funktion REPLACE(str,from_str,to_str) wird verwendet, um alle from_str in der Zeichenfolge str durch to_str zu ersetzen und die ersetzte Zeichenfolge zurückzugeben. Zum Beispiel:

SELECT REPLACE('MySQL-Zeichenfolgenfunktion', 'Zeichenfolge', 'Datum') AS str1,
       REPLACE('MySQL-Zeichenfolgenfunktion', 'Zeichenfolge', '') AS str2;
str1 |str2 |
------------+---------+
MySQL-Datumsfunktion |MySQL-Funktion |

Darüber hinaus wird mit INSERT(str,pos,len,newstr) der Teilstring newstr nach der angegebenen Position pos des Strings str eingefügt und dabei die nachfolgenden len-Zeichen ersetzt. Zum Beispiel:

SELECT INSERT('MySQL-String-Funktion', 6, 3, 'Datum') AS str;
str |
------------+
MySQL-Datumsfunktionen |

UMKEHREN()

Mit REVERSE(str) können Sie die Reihenfolge der Zeichen in der Zeichenfolge str umkehren. Zum Beispiel:

SELECT REVERSE('Shanghais Leitungswasser kommt aus dem Meer')='Shanghais Leitungswasser kommt aus dem Meer' AS "Palindrom";
Palindrom|
----+
   1|

Wenn Sie mehr über MySQL erfahren möchten, können Sie diesen Artikel lesen.

Damit ist dieser Artikel über die zehn am häufigsten verwendeten Zeichenfolgenfunktionen in MySQL abgeschlossen. Weitere relevante Inhalte zu MySQL-Zeichenfolgenfunktionen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zur Verwendung der Concat-Funktion in MySQL (Verbindungszeichenfolgen)
  • Anwendungsbeispiele für MySQL-Interception- und Split-String-Funktionen
  • Detaillierte Erklärung der MySQL-String-Funktionen (empfohlen)
  • Verwendung der abgefangenen MySQL-String-Funktion „substring_index“
  • Detaillierte Einführung und Zusammenfassung der MySQL-Zeichenfolgenverarbeitungsfunktionen
  • MySQL-Funktion zum Abrufen der Zeichenfolgenlänge (CHAR_LENGTH)

<<:  Detaillierte Beschreibung der Unicode-Signatur-BOM

>>:  Lösen Sie das Problem „Rand: oberer Kollaps“ in CCS

Artikel empfehlen

MySQL-Einfügungsproblem bei JSON

MySQL 5.7.8 und höher unterstützt nun einen nativ...

Der Unterschied zwischen char und varchar in MySQL

CHAR- und VARCHAR-Typen sind ähnlich und untersch...

Grundlegender JSON-Betriebsleitfaden in MySQL 5.7

Vorwort Aufgrund der Projektanforderungen werden ...

So installieren Sie Elasticsearch und Kibana in Docker

Elasticsearch erfreut sich derzeit großer Beliebt...

Lösungen für Probleme bei der Leistungsoptimierung von MySQL-Indizes

Die von MySQL erstellte Optimierung besteht im Hi...

Implementieren der Prioritätswarteschlange in JavaScript

Inhaltsverzeichnis 1. Einführung in die Priorität...

Ausführliche Erklärung des Binlogs in MySQL 8.0

1 Einleitung Das Binärprotokoll zeichnet SQL-Anwe...

Detaillierte Codebeispiele zu sieben Methoden zur vertikalen Zentrierung mit CSS

Wenn wir ein Layout bearbeiten, verwenden wir nor...

Eine kurze Diskussion über Schreibregeln für Docker Compose

Dieser Artikel stellt nichts im Zusammenhang mit ...

CSS3 erzielt verschiedene Randeffekte

Durchscheinender Rand Ergebnis: Implementierungsc...

Vue-Anfängerhandbuch: Erstellen des ersten Vue-cli-Scaffolding-Programms

1. Vue – Das erste Vue-CLI-Programm Die Entwicklu...

Interaktion im Webdesign: Eine kurze Diskussion über Paging-Probleme

Funktion: Zur vorherigen Seite oder zur nächsten ...

So deinstallieren und installieren Sie Tomcat neu (mit Bildern und Text)

Deinstallieren Sie tomcat9 1. Da die Installation...