PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Firebird SQL Abfrage mit LIKE


Durcairion
2006-09-29, 23:36:52
Ich hab grad ein kleines Problem auf welches ich bisher mit Google keine Lösung gefunden habe.

Und zwar habe ich folgende SQL Abfrage:

"SELECT * FROM person WHERE lastname LIKE '%"+ lastname +"%'

Die Funktion, bekommt (String lastname) übergeben und sucht nun anhand der Übereinstimmungen die Einträge in der DB raus. Dies funktioniert auch soweit, nur ist das Problem nun das die Abfrage Groß- und Kleinschreibung unterscheidet.

Gibt es nun z.B. eine Person "Meier" in meiner DB dann wird diese gefunden wenn ich an die Funktion "Me" übergebe. Jedoch wird sie nicht gefunden wenn ich ein "me" übergebe.

Kann man dem SQL Befehl sagen, das er nicht auf die Groß- und Kleinschreibung achten soll?

Darkstar
2006-09-30, 00:21:10
Du könntest bei den zu vergleichenden Ausdrücken alle Buchstaben in Großbuchstaben umwandeln:SELECT * FROM person WHERE UPPER(lastname) LIKE UPPER('%"+ lastname +"%')

Durcairion
2006-09-30, 00:30:36
Vielen Dank! Hat geklappt... wusste gar nicht das sowas geht.

HellHorse
2006-09-30, 10:04:08
Kann man dem SQL Befehl sagen, das er nicht auf die Groß- und Kleinschreibung achten soll?
ILIKE?