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

So installieren und konfigurieren Sie WSL unter Windows

Was ist WSL Zitat aus der Baidu-Enzyklopädie: Das...

Best Practices zur Implementierung einfacher Jira-Projekte mit React+TS

Eine Reihe von Projekten für die Ausbildung reagi...

HTML-Code einer Webseite: Erzeugung von Lauftext

In diesem Abschnitt beschreibt der Autor die spez...

Über die Implementierung des JavaScript-Karussells

Heute ist ein weiterer sehr praktischer Fall. All...

Detaillierter Prozess zur Implementierung des 2048-Minispiels im WeChat-Applet

Rendern Beispielcode Heute werden wir das WeChat-...

Detaillierte Analyse von MySQL-Ausführungsplänen

Vorwort Als wir im vorherigen Interviewprozess na...

Tabelle td Bild horizontal und vertikal zentriert Code

HTML Code: Code kopieren Der Code lautet wie folgt...

9 praktische Tipps zum Erstellen von Webinhaltsseiten

Inhalt 1. Geben Sie den Lesern einen Grund zu blei...

Einige Hinweise zur MySQL-Self-Join-Deduplizierung

Lassen Sie mich kurz das Funktionsszenario erklär...

So deaktivieren Sie Webseitenstile mit dem Webentwickler von Firefox

Voraussetzung: Das Webentwickler-Plugin wurde inst...

Lösung für das Jitter-Problem beim CSS3-Transformationsübergang

transform: scale(); Skalierung verursacht Jitter ...

Implementierungsschritte zur Installation eines Redis-Containers in Docker

Inhaltsverzeichnis Redis auf Docker installieren ...