Implementierung der durch Kommas getrennten MySQL-Split-Funktion

Implementierung der durch Kommas getrennten MySQL-Split-Funktion

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:
  • Aufteilungsbeispiel für die Implementierung einer gespeicherten MySQL-Prozedur
  • Implementierung einer SPLIT-ähnlichen String-Splitting-Funktion in MySQL
  • Implementierung der MySQL-Funktion Split

<<:  Implementierung der Optimierung für das Laden ausgewählter Mehrfachdaten in Element

>>:  Lösung für das 404-Problem der Tomcat-Installation in Docker

Artikel empfehlen

React-Implementierungsbeispiel mit Amap (react-amap)

Die PC-Version von React wurde für die Verwendung...

Webdesign: Implementierungstechniken für Webmusik

<br />Wenn Sie Musik in eine Webseite einfüg...

CSS3 realisiert Partikelanimationseffekte beim Matching von Königen

Beim Codieren werden Sie feststellen, dass viele ...

Beispielanalyse für MySQL-Jointabelle und automatische ID-Inkrementierung

Wie schreibt man „join“? Wenn Sie „Left Join“ ver...

Beispiel einer Nginx-Standortübereinstimmungsregel

1. Grammatik Standort [=|~|~*|^~|@] /uri/ { ... }...

Neue Funktionen in MySQL 8.0 - Einführung in Check Constraints

Inhaltsverzeichnis Vorwort Einschränkungen prüfen...

Lösung für das Fehlen der my.ini-Datei in MySQL 5.7

Was ist my.ini? my.ini ist die in der MySQL-Daten...

Eine kurze Diskussion über die Leistungsprobleme des MySQL-Paging-Limits

MySQL-Paging-Abfragen werden normalerweise über L...

Beispiel für die Verwendung der in Vue integrierten Komponente „Keep-Alive“

Inhaltsverzeichnis 1. Verwendung von Keep-Alive A...

So verwenden Sie React-Slots

Inhaltsverzeichnis brauchen Kernidee Zwei Möglich...