Wenn Daten mit einem von mehreren LIKE-Mustern übereinstimmen müssen, stellt sich die Frage: Bietet MySQL eine Alternative zur Wiederverwendung von OR-Bedingungen?
Traditionell sieht eine Abfrage wie folgt aus:
<code class="language-sql">SELECT * FROM fiberbox f WHERE f.fiberBox LIKE '%1740 %' OR f.fiberBox LIKE '%1938 %' OR f.fiberBox LIKE '%1940 %';</code>
Das Ziel besteht darin, eine sauberere und effizientere Methode zu finden, ähnlich der hypothetischen LIKE IN(). Obwohl es kein direktes LIKE IN()-Konstrukt gibt, gibt es andere Optionen.
Eine Möglichkeit, mehrere ODER-Bedingungen zu ersetzen, ist die Verwendung regulärer Ausdrücke (regexp):
<code class="language-sql">SELECT * FROM fiberbox f WHERE f.field REGEXP '1740|1938|1940';</code>
Der reguläre Ausdruck in dieser Abfrage stimmt mit jedem Wert in der Feldspalte überein, der das Muster „1740“, „1938“ oder „1940“ enthält. Dieser Ansatz kombiniert alle Muster in einer einzigen Anweisung, was Abfragen vereinfacht und möglicherweise die Leistung verbessert, obwohl dies von den Umständen abhängen kann.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere LIKE-Muster in MySQL effizient abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!