Übereinstimmung mehrerer Wörter innerhalb eines Datensatzes mit MySQL SELECT
In einem Szenario, in dem ein Feld mehrere Wörter enthält, verwenden Sie eine LIKE-Abfrage zur Suche Diese Wörter können einzeln zu inkonsistenten Ergebnissen führen. Dies kann bei der Suche nach bestimmten Kombinationen oder Permutationen von Wörtern innerhalb eines einzelnen Datensatzes auftreten.
Um diese Herausforderung zu meistern, stellt MySQL den REGEXP-Operator zur Verfügung, der die Erstellung regulärer Ausdrücke für eine präzisere Übereinstimmung ermöglicht. Betrachten Sie das in der Abfrage bereitgestellte Beispiel:
SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus 2100%'
Diese Abfrage liefert keine Ergebnisse, da die Wörter „Stylus“ und „2100“ im Datensatz nicht benachbart sind. Um den gewünschten Datensatz abzurufen, kann der REGEXP-Operator verwendet werden:
SELECT `name` FROM `table` WHERE `name` REGEXP 'Stylus.+2100'
Der Punktoperator (.) stimmt mit jedem Zeichen überein, und der Plusoperator ( ) stellt sicher, dass „2100“ richtig auf „Stylus“ folgt order.
Darüber hinaus kann eine Kombination von LIKE-Abfragen verwendet werden, um das gleiche Ergebnis zu erzielen:
SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus%' AND `name` LIKE '%2100%'
Dieser Ansatz nutzt zwei Trennen Sie LIKE-Abfragen, um zu prüfen, ob irgendwo im Datensatz sowohl „Stylus“ als auch „2100“ vorhanden sind.
Durch die Verwendung von entweder REGEXP oder einer Kombination von LIKE-Abfragen ist es möglich, effektiv nach mehreren Wörtern in einem einzigen zu suchen Aufzeichnen, um ein genaueres und relevanteres Suchergebnis zu gewährleisten.
Das obige ist der detaillierte Inhalt vonWie kann ich in MySQL effizient nach mehreren Wörtern in einem einzigen Datenbankeintrag suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!