2010-11-23 10 views
4

Ich habe die folgenden zwei Abfragen:Rails + PostgreSQL -verwenden Wie

SELECT users.* FROM "users" WHERE (fname || lname LIKE '%james%') 

SELECT users.* FROM "users" WHERE (fname || lname LIKE '%James%') 

ich einen Datensatz in der Benutzertabelle mit fname haben = James

Das Problem, das ich habe, ist die erste Abfrage zurückgibt 0 Ergebnisse, und die 2. gibt das korrekte Ergebnis zurück.

Ich möchte die LIKE Groß-und Kleinschreibung. Ideen? Dank

Antwort

6

SELECT users.* FROM "users" WHERE (fname || lname ILIKE '%james%')

ILIKE = fall insenstive LIKE. Beachten Sie, dass dies für PostgreSQL spezifisch ist und kein SQL-Standard.

+0

Danke Jungs. Ich gab dies die Antwort, da es eine Erklärung hat. – AnApprentice

3

Versuchen

SELECT users.* FROM "users" WHERE (fname || lname ILIKE '%james%') 

Hinweis mit dem 'I' in LIKE

0

Abfragen mit "gefällt mir" oder "ILIKE" sind ziemlich langsam, vor allem für Tabellen mit vielen Einträgen. Ich denke, es wäre schneller, wenn Sie die Volltextsuche von PostgreSQL verwenden.

PostgreSQL textsearch docs

Verwandte Themen