Heim >Datenbank >MySQL-Tutorial >Wie kann ich mit dem LIKE-Operator in MySQL eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung erreichen?
MySQL-Abfragen: Rätsel um Groß-/Kleinschreibung
Bei der Arbeit mit MySQL-Abfragen ist es wichtig, die Groß-/Kleinschreibung zu berücksichtigen, um genaue Suchergebnisse sicherzustellen. Bei der Verwendung des LIKE-Operators mit der utf8_general_ci-Codierung tritt jedoch ein häufiges Problem auf, das zu einem Suchverhalten führt, bei dem die Groß-/Kleinschreibung beachtet wird.
Um dieses Problem zu beheben, gibt es mehrere Lösungen, die die Groß-/Kleinschreibung beibehalten können:
1. Binärer String-Vergleich:
SELECT .... FROM .... WHERE `concatenated` LIKE BINARY '%SearchTerm%';
Durch die Verwendung von BINARY wird beim String-Vergleich die Groß-/Kleinschreibung nicht beachtet, da binäre Strings als eine Folge von Bytes behandelt werden, ohne Rücksicht auf die Groß-/Kleinschreibung der Zeichen.
2. COLLATE-Klausel mit utf8_bin:
SELECT .... FROM .... WHERE `concatenated` like '%SearchTerm%' COLLATE utf8_bin;
Die COLLATE-Klausel gibt einen bestimmten Zeichensatz und eine bestimmte Sortierung für den Vergleich an. utf8_bin sorgt für Vergleiche ohne Berücksichtigung der Groß-/Kleinschreibung für utf8-Daten.
Überlegungen zur Leistung:
Beachten Sie, dass die Verwendung von BINARY oder COLLATE Auswirkungen auf die Abfrageleistung haben kann. BINARY-Vergleiche können effizienter sein, während COLLATE zusätzlichen Verarbeitungsaufwand verursachen kann. Daher kann die optimale Lösung vom spezifischen Nutzungsszenario abhängen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit dem LIKE-Operator in MySQL eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!