Heim >Datenbank >MySQL-Tutorial >Analyse der String-Suchfunktion find_in_set in MySQL
Empfohlenes Lernen: MySQL-Video-Tutorial
Im System erfordern einige Plattformen eine Verkäuferbewertung, unabhängig davon, ob es sich um eine Bestellung oder eine Rücksendung handelt, andere nicht, sodass Sie Bestellungen aufgeben oder zurücksenden können Bestellungen im System Der Prozessknoten der Retourenbestellung.
Für jeden Prozessknoten besteht die Anforderung des Kunden, dass jeder Knoten entsprechend der Rolle des Mitarbeiters im System verteilt werden soll, damit der Auftrag einer Einzelperson zugewiesen werden kann, anstatt von Mitarbeitern des gesamten Unternehmens bearbeitet zu werden.
Für das obige Szenario besteht die von mir implementierte Lösung darin, das entsprechende zu verarbeitende Knotenfeld sowohl zur Bestelltabelle als auch zur Rücksendeauftragstabelle hinzuzufügen. Wenn mehrere Personen es verarbeiten können, verwenden Sie , um das entsprechende Feld zu trennen und zu speichern Mitarbeiter-ID festgelegt.
Daher müssen wir auch die Art und Weise der Auftragsabfrage entsprechend anpassen. Jeder kann nur die Aufträge sehen, die er bearbeiten kann.
Der Beispielinhalt der Tabelle lautet wie folgt:
Wenn sich ein Mitarbeiter beim System anmeldet, können wir seine entsprechende ID abrufen und müssen im entsprechenden Feld nach seiner ID suchen, ob dies der Fall ist im Geschäftsbericht, Finanzbericht oder Einlieferer im Inkasso. Wie sollte die SQL zu diesem Zeitpunkt geändert werden?
Bevor ich SQL geändert habe, dachte ich, dass ich bereits viele Funktionen von MYSQL zusammengefasst habe und dass es für die obige Implementierung definitiv entsprechende Funktionen in MYSQL geben wird, die uns dabei helfen, dies zu erreichen. Tatsächlich habe ich es gefunden.
MySQL bietet eine integrierte String-Funktion namens FIND_IN_SET(), mit der Sie die Position eines angegebenen Strings in einer durch Kommas getrennten Liste von Strings finden können.
Die Funktion FIND_IN_SET() akzeptiert zwei Parameter:
needle
ist die zu findende Zeichenfolge. needle
是要查找的字符串。haystack
haystack
ist eine durch Kommas getrennte Liste von Zeichenfolgen, nach denen gesucht werden soll. Die Funktion FIND_IN_SET() gibt abhängig vom Wert des Parameters eine Ganzzahl oder einen NULL-Wert zurück:
Zwischenspiel
Vor zwei Tagen hat ein Kollege einen Screenshot in der Gruppe gepostet und eine Frage wie folgt gestellt:
Eine kurze Beschreibung:Nachdem ich das gelesen hatte, fiel mir die REPLACE()-Funktion in MYSQL ein, die ich zuvor verwendet hatte und die Strings ersetzen kann. Daher lautet die Update-Anweisung wie folgt:
SELECT t.id_,t.order_sn,t.create_time, t.business_employee_ids,cus.customer_title FROM wms_orders t LEFT JOIN wms_customer cus ON cus.id = t.buyer_id WHERE t.order_status != 100 AND t.comp_id = 8815 AND FIND_IN_SET( '8910', t.business_employee_ids ) AND t.order_status = 14 AND ( t.parent_order_sn IS NULL OR t.parent_order_sn = '' ) ORDER BY t.id_ DESC
Empfohlenes Lernen: MySQL-Video-Tutorial
Das obige ist der detaillierte Inhalt vonAnalyse der String-Suchfunktion find_in_set in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!