2 Stimmen

Undokumentierte MySQL-Verwendung des LIKE-Operators für mehrere Wörter

Ich kann keine Dokumentation über eine bestimmte Formation von SQL mit dem LIKE-Operator finden. Mit MySQL könnte eine typische Abfrage für mehrere Wörter mit dem LIKE-Operator wie folgt aussehen:

SELECT * from table AS t WHERE t.col LIKE '%word1%' AND t.col LIKE '%word2%'

Die folgende Anweisung funktioniert zwar auch, aber die zurückgegebenen Zeilen variieren je nach der Reihenfolge der Wörter in der Abfrage. Zum Beispiel:

SELECT * from table WHERE col LIKE '%word1%' '%word2%'

wird ohne das boolesche AND ausgeführt, aber mit anderen Ergebnissen als:

SELECT * from table WHERE col LIKE '%word2%' '%word1%'

Meine Frage ist, was tatsächlich passiert, wenn Sie diese Formation der Abfrage anstelle der Verwendung von Booleschen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X