1: Definieren Sie eine gespeicherte Prozedur zum Trennen von Zeichenfolgen TRENNUNGSZEICHEN $$ VERWENDEN Sie `mess`$$ DROP-VERFAHREN, WENN `splitString` EXISTIERT$$ CREATE DEFINER=`root`@`%` PROCEDURE `splitString`(IN f_string VARCHAR(1000),IN f_delimiter VARCHAR(5)) BEGINNEN DECLARE cnt INT DEFAULT 0; DECLARE i INT DEFAULT 0; SETZEN Sie cnt = func_get_splitStringTotal(f_string,f_delimiter); Tabelle löschen, wenn `tmp_split` vorhanden ist; VORÜBERGEHENDE TABELLE `tmp_split` ERSTELLEN (`val_` VARCHAR(128) NICHT NULL) STANDARD-CHARSET=utf8; WÄHREND ich < cnt TUN Setze i = i + 1; INSERT INTO tmp_split(`val_`) VALUES (func_splitString(f_string,f_delimiter,i)); ENDE WÄHREND; ENDE$$ TRENNUNGSZEICHEN ; 2: Implementieren Sie die Funktion func_get_splitStringTotal: Mit dieser Funktion wird die Länge nach der Trennung berechnet. Die Funktionen, die Sie hier kennen müssen, sind: REPLACE(str,von_str,nach_str) Gibt die Zeichenfolge str zurück, wobei alle Vorkommen der Zeichenfolge from_str durch die Zeichenfolge to_str ersetzt sind. REPLACE() führt bei der Suche nach from_str eine Groß-/Kleinschreibungsübereinstimmung durch. Zum Beispiel: mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww'); -> 'WwWwWw.mysql.com' Konkrete Umsetzung: TRENNUNGSZEICHEN $$ VERWENDEN Sie `mess`$$ Funktion löschen, wenn `func_get_splitStringTotal` vorhanden ist $$ CREATE DEFINER=`root`@`%` FUNCTION `func_get_splitStringTotal`( f_Zeichenfolge VARCHAR(10000),f_Trennzeichen VARCHAR(50) ) gibt INT(11) zurück BEGINNEN RETURN 1+(LENGTH(f_string) - LENGTH(REPLACE(f_string,f_delimiter,''))); ENDE$$ TRENNUNGSZEICHEN ; 3: Implementieren Sie die Funktion func_splitString: Wird verwendet, um den Wert jeder Schleife nach der Trennung abzurufen. Die Funktionen, die Sie hier kennen müssen, sind: (1) REVERSE(str) Gibt die Zeichenfolge str mit umgekehrter Zeichenreihenfolge zurück. Zum Beispiel:mysql> SELECT REVERSE('abc'); -> 'cba' (2) SUBSTRING_INDEX(Zeichenfolge, Trennzeichen, Anzahl) Gibt die Teilzeichenfolge aus der Zeichenfolge str vor count Vorkommen des Trennzeichens delim zurück. Wenn count positiv ist, wird alles links vom letzten Trennzeichen (von links gezählt) zurückgegeben. Wenn count negativ ist, wird alles rechts vom letzten Trennzeichen (von rechts gezählt) zurückgegeben. SUBSTRING_INDEX() führt bei der Suche nach delim eine Groß-/Kleinschreibungsübereinstimmung durch. Zum Beispiel: mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2); -> 'www.mysql' mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2); -> 'mysql.com' Konkrete Umsetzung: TRENNUNGSZEICHEN $$ VERWENDEN Sie `mess`$$ Funktion löschen, wenn `func_splitString` vorhanden ist $$ CREATE DEFINER=`root`@`%` FUNCTION `func_splitString`( f_string VARCHAR(1000),f_delimiter VARCHAR(5),f_order INT) GIBT VARCHAR(255) CHARSET utf8 ZURÜCK BEGINNEN DECLARE-Ergebnis VARCHAR (255) DEFAULT ''; SET-Ergebnis = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(f_string,f_delimiter,f_order)),f_delimiter,1)); RETURN-Ergebnis; ENDE$$ TRENNUNGSZEICHEN ; verwenden: (1) Aufruf einer gespeicherten Prozedur: Rufen Sie splitString('1,3,5,7,9',','); auf. (2): Zeigen Sie die temporäre Tabelle an Wählen Sie Wert aus tmp_split als t1; Ergebnis: Dies ist das Ende dieses Artikels über die Implementierung der MySQL-Split-Funktion mit Kommatrennung. Weitere relevante Inhalte zu MySQL-Split und Kommatrennung 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:
|
<<: Implementierung der Optimierung für das Laden ausgewählter Mehrfachdaten in Element
>>: Lösung für das 404-Problem der Tomcat-Installation in Docker
Die PC-Version von React wurde für die Verwendung...
<br />Wenn Sie Musik in eine Webseite einfüg...
Beim Codieren werden Sie feststellen, dass viele ...
Wie schreibt man „join“? Wenn Sie „Left Join“ ver...
1. Grammatik Standort [=|~|~*|^~|@] /uri/ { ... }...
Inhaltsverzeichnis 1. Schnittstelle zusammenführe...
Inhaltsverzeichnis Vorwort Einschränkungen prüfen...
Was ist my.ini? my.ini ist die in der MySQL-Daten...
MySQL-Paging-Abfragen werden normalerweise über L...
Eine Hyperlink-URL in Vm muss mit Chinesisch als P...
Inhaltsverzeichnis 1. Verwendung von Keep-Alive A...
Inhaltsverzeichnis brauchen Kernidee Zwei Möglich...
Inhaltsverzeichnis Fall 1: Fall 2: Fall 3: Um es ...
1. Ich habe vorher die Version QT5.13 heruntergel...
<br />Die Seite verwendet die UTF8-Kodierung...