Heim >Datenbank >MySQL-Tutorial >Wie kann ich in SQL eine Platzhaltersuche durchführen, bei der die Groß- und Kleinschreibung nicht beachtet wird?
<code>| title | |-----------------| | Elm Tree | | elm tree | | Red Elm | | RED ELM | | Oak Tree | </code>
Die Abfrage SELECT * FROM trees WHERE LOWER(trees.title) LIKE '%elm%'
gibt die folgenden Zeilen zurück:
<code>| title | |-----------------| | Elm Tree | | elm tree | | Red Elm | | RED ELM |</code>
Dies liegt daran, dass bei der Suche mit der LOWER-Funktion alle Werte vor dem Vergleich in Kleinbuchstaben umgewandelt werden, was sich möglicherweise auf die Leistung anderer Datenbanksysteme auswirkt bieten alternative Vergleichsmethoden an, bei denen die Groß- und Kleinschreibung nicht beachtet wird.
SQL-Platzhaltersuche ohne Berücksichtigung der Groß-/Kleinschreibung
Die Beachtung der Groß-/Kleinschreibung kann bei der Durchführung von Platzhaltersuchen in SQL mit dem LIKE-Operator eine Herausforderung darstellen. Beispielsweise gibt die Abfrage SELECT * FROM trees WHERE trees.title LIKE '%elm%'
nur dann Ergebnisse zurück, wenn die Titelspalte genau die Zeichenfolge „elm“ enthält.
Lösung: Verwenden Sie die LOWER-Funktion
MySQL bietet eine Lösung für dieses Problem mithilfe der LOWER-Funktion. Durch das Einschließen der Spalte in die LOWER-Funktion wird bei der Suche die Groß-/Kleinschreibung nicht beachtet. So geht's:
<code class="language-sql">SELECT * FROM trees WHERE LOWER(trees.title) LIKE '%elm%'</code>
In dieser Abfrage wandelt die LOWER-Funktion den Inhalt der Titelspalte in Kleinbuchstaben um, bevor eine LIKE-Suche durchgeführt wird. Daher gibt die Abfrage alle Zeilen zurück, deren kleingeschriebene Titeldarstellung die Zeichenfolge „elm“ enthält.
Beispiel
Stellen Sie sich eine hypothetische Tabelle namens „Bäume“ vor, die die folgenden Zeilen enthält:
<code>| title | |-----------------| | Elm Tree | | elm tree | | Red Elm | | RED ELM | | Oak Tree |</code>
AbfrageSELECT * FROM trees WHERE LOWER(trees.title) LIKE '%elm%'
gibt die folgenden Zeilen zurück:
<code>| title | |-----------------| | Elm Tree | | elm tree | | Red Elm | | RED ELM |</code>
Dies demonstriert die Suchfunktion ohne Berücksichtigung der Groß-/Kleinschreibung mit der LOWER-Funktion. Beachten Sie, dass diese Methode vor dem Vergleich alle Werte in Kleinbuchstaben umwandelt, was sich auf die Leistung großer Tabellen auswirken kann. Andere Datenbanksysteme bieten möglicherweise alternative Vergleichsmethoden ohne Berücksichtigung der Groß- und Kleinschreibung.
<code></code>
Das obige ist der detaillierte Inhalt vonWie kann ich in SQL eine Platzhaltersuche durchführen, bei der die Groß- und Kleinschreibung nicht beachtet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!