MySQL Befehl zur Fehlertoleranten Datensuche

marcel_m

Mitglied
Hallo zusammen,

auch wenn manche diesen Beitrag wohl mit kopschütteln lesen werden, hätte ich eine Fage.
Ich möchte eine Tabelle mit Kundendaten durchsuchen und der Benutzer soll dabei dann Werte eingeben können wie zum Beispiel den Ort, in dem der Kunde lebt und diese mir dann zurückgeben. Problem dabei:
Die Suche soll relativ tolerant sein, d. h. gibt man Besispielsweise Landshut als Städtename ein, sollen auch Kunden aus Waldshut ausgegeben werden. Gibt es für eine solche Art von allgemein gültigen, toleranten Operatoren (bzw. wie muss ich den LIKE Operator hierfür einsetzen?!)?

Vielen Dank im Voraus,

Marcel
 
Hallo nochmal,

(erst einmal Entschuldigung für den DoppelPost) die Vorfreude war doch zu groß ;-)
Um diese Funktion verwenden zu können, müsste ich ja alle Daten umwandeln....
Ich suche eher eine Lösung, die sich in der WHERE Klausel wiederfindet....
Marcel
 
Der Soundex-Algorithmus ist für diesen Fall nicht sehr geeignet. Überhaupt ist der Soundex-Algorithmus für die englische Sprache und dort auch nicht besonders verlässlich. (Dass Landshut „L532“ und Waldshut „W432“ entspricht, wird dir sicherlich auch nicht weiterhelfen.)

Für diesen Fall ist die Levenshtein-Distanz schon eher geeignet, die die Anzahl der zu ersetzenden, zu löschenden oder hinzuzufügenden Zeichen beschreibt, um eine Zeichenkette in eine andere zu überführen. Bei Landshut und Waldshut sind es beispielsweise zwei Zeichen („L“ und „W“ beziehungsweise „n“ und „l“), die ausgetauscht werden müssten.
 
Der Soundex-Algorithmus ist für diesen Fall nicht sehr geeignet. Überhaupt ist der Soundex-Algorithmus für die englische Sprache und dort auch nicht besonders verlässlich. (Dass Landshut „L532“ und Waldshut „W432“ entspricht, wird dir sicherlich auch nicht weiterhelfen.)

Für diesen Fall ist die Levenshtein-Distanz schon eher geeignet, die die Anzahl der zu ersetzenden, zu löschenden oder hinzuzufügenden Zeichen beschreibt, um eine Zeichenkette in eine andere zu überführen. Bei Landshut und Waldshut sind es beispielsweise zwei Zeichen („L“ und „W“ beziehungsweise „n“ und „l“), die ausgetauscht werden müssten.

Nun, das ist nicht ganz das, was ich suche. Das mit Waldshut und Landshut war ja nur ein Beispiel ;-)

Mir geht es einfach darum, das ich als "Suchoperator" ein = habe, sondern einen Operator, der "flexibler" ist...

Aber trotzdem Danke!

Marcel
 

Neue Beiträge

Zurück