Zwei Methoden der MySql-Kommaverkettungs-Stringabfrage

Zwei Methoden der MySql-Kommaverkettungs-Stringabfrage

Die folgenden beiden Funktionen werden auf die gleiche Weise wie FIND_IN_SET verwendet. Wenn Sie sie verwenden, müssen Sie lediglich FIND_IN_SET FIND_PART_IN_SET oder FIND_ALL_PART_IN_SET ersetzen.

Ein Feld ist beispielsweise 1, 2, 3, 4, 5

Anwendung:

Die erste, geben Sie 1, 3, 6 ein, um herauszufinden

wähle * aus XXX, wobei FIND_PART_IN_SET('1,3,6','1,2,3,4,5')

Der zweite Typ, der 1, 3, 6 übergibt, kann nicht gefunden werden

wähle * aus XXX, wobei FIND_ALL_PART_IN_SET('1,3,6','1,2,3,4,5')

Funktion:

Der erste Typ: Solange einer von ihnen enthalten ist, kann er erkannt werden

CREATE DEFINER = `root`@`%` FUNCTION `NewProc`(str1-Text, str2-Text)
 RETURNS-Text
BEGINNEN
 #Übergeben Sie zwei durch Kommas getrennte Zeichenfolgen und bestimmen Sie, ob die zweite Zeichenfolge das einzelne Zeichen nach der Teilung der ersten Zeichenfolge enthält. DECLARE CURRENTINDEX INT; #Aktueller Index DECLARE CURRENTSTR-Text;
DECLARE-Ergebnis int;
Setze Ergebnis = 0;
setze CURRENTINDEX = 0;
setze CURRENTSTR = '';
WENN str1 NICHT NULL IST UND str1 != '', DANN
 AKTUELLEN INDEX FESTLEGEN = LOCATE(',',str1);
 SOLANGE CURRENTINDEX > 0 IST
 SETZEN SIE CURRENTSTR = Teilzeichenfolge (str1,1, CURRENTINDEX-1);
 wenn FIND_IN_SET(CURRENTSTR,str2) DANN
  Setze Ergebnis = 1;
 Ende wenn;
 SET str1 = Teilzeichenfolge (str1, AKTUELLER INDEX + 1);
 AKTUELLEN INDEX FESTLEGEN = LOCATE(',',str1);
 ENDE WÄHREND;
 #Nur eins übergeben und kein Komma am Ende IF LENGTH(str1) > 0 THEN
 wenn FIND_IN_SET(str1,str2) DANN
  Setze Ergebnis = 1;
 Ende wenn;
 ENDE, WENN;
ENDE, WENN;
RETURN-Ergebnis;
ENDE;

Der zweite Typ: Alle müssen enthalten sein, um erkannt zu werden

CREATE DEFINER = `root`@`%` FUNCTION `NewProc`(str1-Text, str2-Text)
 RETURNS-Text
BEGINNEN
 #Übergeben Sie zwei durch Kommas getrennte Zeichenfolgen, um zu bestimmen, ob die zweite Zeichenfolge alle Einzelzeichen nach der Teilung der ersten Zeichenfolge enthält. DECLARE CURRENTINDEX INT; #Aktueller Index DECLARE CURRENTSTR-Text;
ERGEBNIS DECLARE int;
Erklären Sie, dass Totalanzahl int ist;
DECLARE TRUECOUNT int;
setze ERGEBNIS = 0;
setze CURRENTINDEX = 0;
setze CURRENTSTR = '';
setze TOTALCOUNT = 0;
setze TRUECOUNT = 0;
WENN str1 NICHT NULL IST UND str1 != '', DANN
 AKTUELLEN INDEX FESTLEGEN = LOCATE(',',str1);
 SOLANGE CURRENTINDEX > 0 IST
 Setze GESAMTZAHL = GESAMTZAHL + 1;
 SETZEN SIE CURRENTSTR = Teilzeichenfolge (str1,1, CURRENTINDEX-1);
 wenn FIND_IN_SET(CURRENTSTR,str2) DANN
  Setzen Sie TRUECOUNT = TRUECOUNT + 1;
 Ende wenn;
 SET str1 = Teilzeichenfolge (str1, AKTUELLER INDEX + 1);
 AKTUELLEN INDEX FESTLEGEN = LOCATE(',',str1);
 ENDE WÄHREND;
 #Nur eins übergeben und kein Komma am Ende IF LENGTH(str1) > 0 THEN
 Setze GESAMTZAHL = GESAMTZAHL + 1;
 wenn FIND_IN_SET(str1,str2) DANN
  Setzen Sie TRUECOUNT = TRUECOUNT + 1;
 Ende wenn;
 ENDE, WENN;
ENDE, WENN;
WENN TOTALCOUNT > 0 UND TRUECOUNT = TOTALCOUNT, DANN 
 ERGEBNIS FESTLEGEN = 1;
ENDE, WENN;
RETURN-Ergebnis;
ENDE;

Zusammenfassen

Oben sind zwei vom Herausgeber eingeführte Methoden zur MySql-Kommaverkettungszeichenfolgenabfrage. Ich hoffe, sie sind für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Mysql-String-Abfangen und Abrufen von Daten im angegebenen String
  • MySQL fängt die SQL-Anweisung der String-Funktion ab
  • MySQL implementiert Zeichenfolgenverkettung, Abfangen, Ersetzen und Positionssuchvorgänge

<<:  Detaillierte Erläuterung der Verwendung des Linux-Befehls seq

>>:  Vue realisiert den gesamten Prozess der Slider-Drag-Verifizierungsfunktion

Artikel empfehlen

CentOS7 64-Bit-Installation MySQL Grafik-Tutorial

Voraussetzungen für die Installation von MySQL: I...

So implementieren Sie eine einfache Datenüberwachung mit JS

Inhaltsverzeichnis Überblick erster Schritt Schri...

Fünf Lösungen für Cross-Browser-Probleme (Zusammenfassung)

Kurz zusammengefasst: Browserkompatibilitätsprobl...

Windows 10 ist zu schwierig zu verwenden. Wie passen Sie Ihr Ubuntu an?

Autor | Herausgeber Awen | Produziert von Tu Min ...

Das Laufschriftelement implementiert Effekte wie scrollende Schriften und Bilder

Mit dem Laufschriftelement können Sie einfache Gle...

So verstehen Sie das Ref-Attribut von React genau

Inhaltsverzeichnis Überblick 1. Erstellen eines R...

JS implementiert Städtelisteneffekt basierend auf VUE-Komponente

In diesem Artikelbeispiel wird der spezifische Co...

Lösung für das Fehlerproblem bei der Remote-Verbindung von Vscode zu Ubuntu

1. Hintergrund des Vorfalls: Aus Arbeitsgründen m...

So fügen Sie die Tomcat-Serverkonfiguration zu Eclipse hinzu

1. Fenster -> Einstellungen, um das Eclipse-Ei...