Suchen von Zeilenwerten, die in einem Abfragetext in MySQL enthalten sind
Der LIKE-Operator von MySQL eignet sich hervorragend zum Auffinden von Zeilen, die einen bestimmten Abfragetext enthalten. Betrachten Sie dieses Beispiel:
SELECT name FROM user WHERE name LIKE "%john%"
Zeilen wie „John Smith“ und „Peter Johnson“ werden zurückgegeben.
Was aber, wenn wir das Gegenteil suchen, nämlich Zeilen, deren Werte in einem Abfragetext vorhanden sind? Geben Sie beispielsweise „John Smith und Peter Johnson sind beste Freunde“ an und suchen Sie alle Namen aus der Tabelle, die in dieser Zeichenfolge vorhanden sind. Wie können wir das erreichen?
Umgekehrte LIKE-Operation
Um diese umgekehrte LIKE-Operation auszuführen, ist die Verwendung der CONCAT()-Funktion der Schlüssel:
SELECT name FROM user WHERE 'John Smith and Peter Johnson are best friends' LIKE CONCAT('%', name, '%')
Die CONCAT()-Funktion verkettet Zeichenfolgen, in diesem Fall umschließt sie den Namen jeder Zeile in Prozentzeichen („%“). Dadurch kann der LIKE-Operator prüfen, ob der gesamte Abfragetext jeden Namen enthält.
Wenn die Benutzertabelle beispielsweise die Namen „John“ und „Peter“ enthält, gibt die Abfrage Folgendes zurück:
| name | | --- | | John | | Peter |
Diese Technik identifiziert effektiv Zeilen, die einem bestimmten Text entsprechen, und kehrt das traditionelle LIKE-Verhalten um.
Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Zeilen finden, deren Werte in einer bestimmten Textzeichenfolge enthalten sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!