Die folgenden beiden Funktionen werden auf die gleiche Weise wie 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! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung der Verwendung des Linux-Befehls seq
>>: Vue realisiert den gesamten Prozess der Slider-Drag-Verifizierungsfunktion
Voraussetzungen für die Installation von MySQL: I...
Inhaltsverzeichnis Überblick erster Schritt Schri...
Kurz zusammengefasst: Browserkompatibilitätsprobl...
Autor | Herausgeber Awen | Produziert von Tu Min ...
1. Übersicht Es gibt drei Möglichkeiten, ein Dock...
1. Nexus-Konfiguration 1. Erstellen Sie einen Doc...
Mit den MySQL-Funktionen CAST() und CONVERT() kön...
Wenn ein Formularfeld in einem Formular deaktivier...
Mit dem Laufschriftelement können Sie einfache Gle...
Die Standard-MySQL-Version unter dem Alibaba Clou...
Inhaltsverzeichnis Überblick 1. Erstellen eines R...
Bei täglichen Betriebs- und Wartungsarbeiten werd...
In diesem Artikelbeispiel wird der spezifische Co...
1. Hintergrund des Vorfalls: Aus Arbeitsgründen m...
1. Fenster -> Einstellungen, um das Eclipse-Ei...