430 Stimmen

Wie kann ich in einer Spalte mit dem Platzhalter LIKE (ohne Berücksichtigung der Groß-/Kleinschreibung) suchen?

Ich habe mich etwas umgesehen und nicht gefunden, was ich gesucht habe, also geht es los.

SELECT * FROM trees WHERE trees.`title` LIKE  '%elm%'

Das funktioniert gut, aber nicht, wenn der Baum Elm oder ELM usw. heißt.

Wie kann ich die Groß- und Kleinschreibung in SQL für diese Platzhaltersuche nicht berücksichtigen?

Ich verwende MySQL 5 und Apache.

3voto

simplifiedDB Punkte 154

Gut in mysql 5.5, wie Operator ist unempfindlich ... also wenn Ihr vale ist Ulme oder ELM oder Elm oder eLM oder jede andere, und Sie verwenden wie '%elm%', es wird alle übereinstimmenden Werte auflisten.

Ich kann nichts über frühere Versionen von mysql sagen.

Wenn Sie in Oracle gehen, wie Arbeit als Groß-und Kleinschreibung, so dass, wenn Sie wie '%elm%' eingeben, wird es nur für diese und ignorieren Großbuchstaben gehen.

Seltsam, aber so ist es nun mal :)

2voto

user4189641 Punkte 11
SELECT name 
       FROM gallery 
       WHERE CONVERT(name USING utf8) LIKE _utf8 '%$q%' 
       GROUP BY name COLLATE utf8_general_ci LIMIT 5

2voto

Shadi Punkte 11

Ich habe immer auf diese Weise gelöst:

SELECT * FROM trees WHERE LOWER( trees.title ) LIKE  LOWER('%elm%');

1voto

Your Common Sense Punkte 154708

Sie müssen die richtige Kodierung und Sortierung für Ihre Tabellen einrichten.

Die Tabellenkodierung muss die tatsächliche Datenkodierung widerspiegeln. Wie lautet Ihre Datenkodierung?

Um die Tabellenkodierung zu sehen, können Sie eine Abfrage ausführen SHOW CREATE TABLE tablename

0voto

Rbacarin Punkte 699

Wenn ich eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung entwickeln möchte, konvertiere ich jede Zeichenkette in Kleinbuchstaben, bevor ich einen Vergleich durchführe

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