Entwickler-Ecke

Datenbanken - MySQL - Teilstrings finden


Ja-Pa - So 31.10.04 13:04
Titel: MySQL - Teilstrings finden
Hallo,

ich bin gerade dabei mein erstes Datenbankprojekt mit MySQL zu programmieren.
In meinem Programm möchte ich eine Suche nach Datensätzen haben.
Wenn ich jetzt aber eine Abfrage


Quelltext
1:
select * from adressen where name="Müller";                    


stelle, gibt es nur Ergebnisse mit "Müller" als Name, nicht aber mit "Müller-Maier".
Der LIKE-Operator


Quelltext
1:
select * from adressen where name like "Müller";                    


unterscheidet nicht zwischen Groß- und Kleinschreibung, findet aber auch keine Teilstrings.
Es ist doch mit SQL garantiert irgendwie möglich, oder?

Vielen Dank für eure Hilfe,
Ja-Pa


Bernhard Geyer - So 31.10.04 13:27
Titel: Re: MySQL - Teilstrings finden
Mit

Quelltext
1:
select * from adressen where name like "%Müller%";                    

werden schon mal alle namen gefunden mit Müller im String

Mit

Quelltext
1:
select * from adressen where Upper(name) like "%MÜLLER%";                    

sollte die groß/kleinschreibung auch kein Problem mehr darstellen.


Ja-Pa - So 31.10.04 13:56

Vielen Dank für die schnelle Antwort!


Sebastian01 - Mo 15.11.04 15:15
Titel: Re: MySQL - Teilstrings finden
Bernhard Geyer hat folgendes geschrieben:
Mit

Quelltext
1:
select * from adressen where Upper(name) like "%MÜLLER%";                    

sollte die groß/kleinschreibung auch kein Problem mehr darstellen.


Hi !


ich glaube, daß das vom den Feld-Attributen in der mysql-Datenbank abhängt. Ich galube, so lange wie NICHT "BINARY" eingestellt ist, wird auch keine Unterscheidung gemacht. Was die Sonderzeichen und insbesondere die Sortierung mit "ORDER BY" angeht, muss man auf das eingestellte Charset von mySQL achten, damit äöü auch korrekt einsortiert werden.

lg


Alfons-G - Mo 15.11.04 15:42

Bei Standard-Textfeldern unterscheidet MySQL beim Vergleich mit "=" Groß- und Kleinschreibung, beim Vegleich mit "LIKE" dagegen nicht

8)