Es gibt vier wichtige MySQL-Zeichenfolgenabfangfunktionen: left(), right(), substring() und substring_index(). Jedes hat sein eigenes Nutzungsszenario. Lassen Sie mich Ihnen heute ein paar Minuten Zeit geben, um Sie mit ihnen vertraut zu machen, Mark!
1. LEFT()-FunktionLEFT(Zeichenfolge, Länge), extrahiert beginnend mit dem ersten Zeichen links von der Zeichenfolge die Längenzeichen. Die Länge sollte größer als 0 sein. Wenn <= 0, wird eine leere Zeichenfolge zurückgegeben. Hier ist ein Beispiel: mysql> SELECT LEFT('www.csdn.net',5) von web_info w; +------------------+ | LINKS('www.csdn.net',5) | +------------------+ | www.c | +------------------+ 1 Zeile im Satz (0,00 Sek.) 2. RIGHT()-FunktionLEFT(Zeichenfolge, Länge), extrahiert beginnend mit dem ersten Zeichen rechts von der Zeichenfolge die Längenzeichen, immer noch in Vorwärtsreihenfolge. Die Länge sollte größer als 0 sein. Wenn <= 0, wird eine leere Zeichenfolge zurückgegeben. mysql> RECHTS AUSWÄHLEN('www.csdn.net',5) von web_info w; +-------------------------+ | RECHTS('www.csdn.net',5) | +-------------------------+ | n.net | +-------------------------+ 1 Zeile im Satz (0,00 Sek.) 3. SUBSTRING()-Funktionsubstring() ist eine Funktion, die speziell zum Teilen eines Strings verwendet wird. Sie hat zwei Hauptformen:
Nachfolgend sehen Sie die SQL-Standardversion der beiden oben genannten Anweisungstypen, die dasselbe bedeuten. Sie ist länger, aber aussagekräftiger. SUBSTRING (Zeichenfolge von Position); SUBSTRING (Zeichenfolge VON Position FÜR Länge); Sehen wir uns zwei Beispiele für die Verwendung von SUBSTRING() an. 1.SUBSTRING(Zeichenfolge,Position)
Um beispielsweise die Teilzeichenfolge „csdn.net“ aus der Zeichenfolge „www.csdn.net“ zu erhalten, muss die Position der Teilzeichenfolge bei 5 beginnen, wie in der folgenden SELECT-Anweisung gezeigt: mysql> SELECT Teilzeichenfolge ('www.csdn.net', 5) von web_info w; +-----------------------------+ | Teilzeichenfolge('www.csdn.net',5) | +-----------------------------+ |csdn.net| +-----------------------------+ 1 Zeile im Satz (0,00 Sek.) 2.SUBSTRING(Zeichenfolge,Position,Länge) Zusätzlich zu den Zeichenfolgen- und Positionsparametern verfügt die SUBSTRING-Funktion auch über einen Längenparameter. Um beispielsweise die CSDN unter www.csdn.net abzurufen, lautet die SQL wie folgt: mysql> SELECT Teilzeichenfolge ('www.csdn.net', 5,4) von web_info w; +-------------------------------+ | Teilzeichenfolge('www.csdn.net',5,4) | +-------------------------------+ |csdn| +-------------------------------+ 1 Zeile im Satz (0,00 Sek.) Oder indem Sie die Position konfigurieren und von hinten nach vorne zählen. Das SQL lautet wie folgt: mysql> SELECT Teilzeichenfolge ('www.csdn.net', -8,4) von web_info w; +--------------------------------+ | Teilzeichenfolge('www.csdn.net',-8,4) | +--------------------------------+ |csdn| +--------------------------------+ 1 Zeile im Satz (0,00 Sek.) Oder Sie können es im Standard-SQL-Format schreiben. Das SQL lautet wie folgt: mysql> SELECT Teilzeichenfolge ('www.csdn.net' von 5 für 4) von web_info w; +----------------------------------------+ | Teilzeichenfolge ('www.csdn.net' VON 5 FÜR 4) | +----------------------------------------+ |csdn| +----------------------------------------+ 1 Zeile im Satz (0,00 Sek.) Darüber hinaus sind mid() und substr() in MySQL gleichwertig mit der Funktion substring()! 4. SUBSTRING_INDEX()-FunktionSUBSTRING_INDEX(str,delim,count) ist eine Funktion, die einen Teilstring anhand eines bestimmten Bezeichners „delim“ extrahiert. Wir verwenden sie häufig im täglichen Leben.
Beispiel: „www.csdn.net“, holen Sie sich die Teilzeichenfolge vor dem ersten Vorkommen des Bezeichners „.“, das SQL lautet wie folgt: mysql> SELECT SUBSTRING_INDEX('www.csdn.net','.',1) von web_info w; +------------------------------------------+ | SUBSTRING_INDEX('www.csdn.net','.',1) | +------------------------------------------+ | www | +------------------------------------------+ 1 Zeile im Satz (0,00 Sek.) Holen Sie sich die Teilzeichenfolge nach dem ersten Vorkommen des Bezeichners „.“. Das SQL lautet wie folgt: mysql> SELECT SUBSTRING_INDEX('www.csdn.net','.',-2) von web_info w; +----------------------------------------+ | SUBSTRING_INDEX('www.csdn.net','.',-2) | +----------------------------------------+ |csdn.net| +----------------------------------------+ 1 Zeile im Satz (0,00 Sek.) Möchten Sie die Mitte von zwei „.“ erhalten? Es kann verschachtelt werden, das SQL ist wie folgt; mysql> SELECT SUBSTRING_INDEX(substring_index('www.csdn.net','.',2),'.',-1) aus web_info w; +-------------------------------------------------------------------+ | SUBSTRING_INDEX(Teilstring_Index('www.csdn.net','.',2),'.',-1) | +-------------------------------------------------------------------+ |csdn| +-------------------------------------------------------------------+ 1 Zeile im Satz (0,00 Sek.) 5. Praktische BedienungWir verwenden die Tabelle web_info als Testtabelle und die Daten sind wie folgt: mysql> wähle * aus web_info; +------+--------+----------------+---------------------+ | w_id | w_name | w_domäne | Veröffentlichungszeit | +------+--------+----------------+---------------------+ | 1 | CSDN | www.csdn.net | 03.09.2020 11:29:29 | | 5 | Baidu | www.baidu.com | 18.09.2020 14:37:38 | | 6 | Taobao | www.taobao.com | 03.09.2020 14:37:57 | +------+--------+----------------+---------------------+ 3 Zeilen im Satz (0,00 Sek.) Anforderung 1: Holen Sie sich den First-Level-Domänennamen der Webinfo-Daten. mysql> SELECT SUBSTRING_INDEX(w_domain,'.',-2),w.* von web_info w; +----------------------------------+------+--------+----------------+---------------------+ | SUBSTRING_INDEX(w_Domäne,'.',-2) | w_ID | w_Name | w_Domäne | Veröffentlichungszeit | +----------------------------------+------+--------+----------------+---------------------+ | csdn.net | 1 | CSDN | www.csdn.net | 03.09.2020 11:29:29 | | baidu.com | 5 | Baidu | www.baidu.com | 18.09.2020 14:37:38 | | taobao.com | 6 | Taobao | www.taobao.com | 03.09.2020 14:37:57 | +----------------------------------+------+--------+----------------+---------------------+ 3 Zeilen im Satz (0,00 Sek.) Anforderung 2: Ändern Sie die Daten im Feld „w_domain“ in den Domänennamen der ersten Ebene. Webinformationen aktualisieren, w_Domain festlegen = SUBSTRING_INDEX(w_Domain,'.',-2); Geänderte Abfrage: mysql> AUSWÄHLEN * von web_info; +------+--------+------------+---------------------+ | w_id | w_name | w_domäne | Veröffentlichungszeit | +------+--------+------------+---------------------+ | 1 | CSDN | csdn.net | 03.09.2020 14:54:59 | | 5 | Baidu | baidu.com | 03.09.2020 14:54:59 | | 6 | Taobao | taobao.com | 03.09.2020 14:54:59 | +------+--------+------------+---------------------+ 3 Zeilen im Satz (0,00 Sek.) So, das war’s für heute zur String-Splitting-Funktion von MySQL. Wenn es für Sie nützlich ist, geben Sie es bitte nicht kostenlos weiter~~ Dies ist das Ende dieses Artikels über die spezifische Verwendung der MySQL-Segmentierungsfunktion substring(). Weitere relevante Inhalte zur MySQL-Segmentierungsfunktion substring 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:
|
<<: Einfacher Webseitencode, der im NetEase-Blog verwendet wird
>>: Beispielcode einer SVG-Schaltfläche basierend auf einer CSS-Animation
Holen Sie sich das Mongo-Image sudo docker pull m...
Inhaltsverzeichnis el-scrollbar Bildlaufleiste el...
Tabellenstruktur einer MySQL-Tabelle schnell ände...
Einfache Installation von opencv2: conda installi...
1. Was ist eine Transaktion? Eine Datenbanktransa...
Vorwort Benannte Slots werden mithilfe des Attrib...
Wenn unter Linux eine Datei erstellt wird, ist de...
In diesem Artikelbeispiel wird der spezifische Co...
Erläuterung der HTML-Tags 1. HTML-Tags Tag: !DOCT...
In diesem Artikelbeispiel wird der spezifische Co...
Lassen Sie uns keine weitere Zeit verschwenden un...
Hinweis: Alle Bilder in diesem Artikel stammen au...
Lassen Sie mich zunächst ein Beispiel geben (wenn...
Bei der Verwendung von Docker-Images können Image...
Heutzutage erlauben viele Websites nicht das direk...