Hallo zusammen
Kennt jemand das SQL-Statment „soundex“ im Zusammenhang mit Oracle? Es geht darum die Sonderzeichen in Adressdateien zu finden. Z.B. Meyer und Mèyer etc.
Dank und Gruss für Hinweise
Peter
Hallo zusammen
Kennt jemand das SQL-Statment „soundex“ im Zusammenhang mit Oracle? Es geht darum die Sonderzeichen in Adressdateien zu finden. Z.B. Meyer und Mèyer etc.
Dank und Gruss für Hinweise
Peter
Hi,
Kennt jemand das SQL-Statment „soundex“ im Zusammenhang mit
Oracle? Es geht darum die Sonderzeichen in Adressdateien zu
finden. Z.B. Meyer und Mèyer etc.
Ja.
Was willst Du wissen?
Die 9i-Variante kenne ich nicht. Ich vermute mal, daß sich da nicht viel geändert hat.
Soundex berechnet eine Art Hashwert für das angegebene Wort. Die Theorie besagt, daß ähnlich klingende Wörter gleiche oder sehr ähnliche Soundex-Werte besitzen. Ich mußte leider feststellen, daß dem nicht so ist. Gründe: Soundex scheint auf die englische Aussprache geeicht. Soundex bewertet den Anfang der Wörter höher als das Ende; man kriegt z.B. für ‚Bäcker Mayer‘ und ‚Bäcker Schumann‘ gleiche Soundex-Werte (habe sie jetzt nicht ausprobiert, aber versuch es mal gerade).
Ich hatte mir seinerzeit mühsam eigene Routinen dafür geschrieben. Grundsätzlich arbeitete ich iterativ mit replace, zunächst die Doppelkonsonanten durch einfache ersetzt, dann bestimmte Kombinationen durch phonetische Entsprechungen (ck durch k, usw.). Am Ende kam schon ein brauchbarer String heraus, das mir problemlos alle Maiers, Meyers und Mayers fand. Aber absolut richtig ging das nicht, etwas Handarbeit war immer noch notwendig.
Gruß
J.