Unscharfe Suche
Micha
- datenbank
Hi,
wie schaffe ich es bei einer Datenbankabfrage eine unscharfe Suche zu machen ? D.h. wenn ich nach "Timy" suche soll er mir aber auch "Timmy" oder "Tommy" rauswerfen. Verstanden ?
Ich arbeite mit mySQL, gibt es dort schon eine Funktion die das erledigt oder muss man das selbst machen. Kann mir jemand da weiterhelfen ?
Micha
mysql> SELECT Name, Telefon
-> FROM Mitarbeiter
-> WHERE Telefon LIKE '%96/%';
+-------+--------------+
| Name | Telefon |
+-------+--------------+
| Maier | 06196/671797 |
+-------+--------------+
1 row in set (0.00 sec)
gern geschehen! ;-)
Hallo,
nun ja, er meinte, dass Timy, Timmy u.s.w. bei Tippfehlern
gefunden werden sollte.
Mit Deiner Methode wuerde er aber auch "my oh my" ;-) finden...
Vielleicht gibbet ja noch ne andere Loesung?
Gruss Mi
Experimentiere mal mit: SOUNDEX(str)
Lege also eine Spalte mit für soundex an (TinyText)
dann update tablle set sound_vname = soundex(vname);
select vname from tabelle where sound_vname like LEFT(soundex('Timy'),4)%;
Ich selber habe damit noch nichts gemacht, es wäre einen Versuch wert.
Berichte mal über die Resultate.
fastix
select vname from tabelle where sound_vname like right(soundex('Timy'),X)%;
(X=1-n)
Du brauchst die rechten (ersten) Zeichen, nicht die linken (letzten).
soundex(Jimmy)
soundex(Jimy)
soundex(Jimmi)
soundex(jmi)
soundex ist bei allen J500 - Würde Dir das genügen?
fastix
soundex ist bei allen J500 - Würde Dir das genügen?
fastix
Hi,
mir genuegt es. Dankeschoen!
Doch ob es der Person, die diesen
Thread eroeffnet hat, genuegt - das
kann ich Dir nicht beantworten.
Gruss Mi
Hi Micha,
wie schaffe ich es bei einer Datenbankabfrage eine unscharfe Suche zu machen ? D.h. wenn ich nach "Timy" suche soll er mir aber auch "Timmy" oder "Tommy" rauswerfen. Verstanden ?
nein. Ein Beispiel ist keine Aufgabenstellung.
Es gibt den LIKE-Operator, der Dir erlaubt, nach variablen Zeichenketten zu suchen.
Aber eine Logik, die _errät_, was Du _vielleicht_ gemeint haben _könntest_, existiert nicht (und zwar grundsätzlich nicht, unabhängig von dem verwendeten RDBMS).
Viele Grüße
Michael
Hallo Michael,
Aber eine Logik, die _errät_, was Du _vielleicht_ gemeint haben _könntest_, existiert nicht...
da muß ich Dir widersprechen. Die Rendering-Engine im Internet Explorer hat so eine Logik...
SChöNen gRuß
Rainer
Hi Rainer S.,
Aber eine Logik, die _errät_, was Du _vielleicht_ gemeint haben _könntest_, existiert nicht...
da muß ich Dir widersprechen. Die Rendering-Engine im Internet Explorer hat so eine Logik...
das ist so aber nicht vergleichbar. Wenn der M$IE falsch rät, dann ist das Ergebnis immer noch "so halbwegs brauchbar"; wenn eine Suchmaschine falsch rät, dann ist das Ergebnis einfach falsch.
Viele Grüße
Michael