dba:oracle_soundex_function
Mit Soundex Wörter in der Datenbank vergleichen
Soundex ist ein Algorithmus von Donald E. Knuth aus dem Buch The Art of Computer Programming, Volume 3: Sorting and Searching
Ablauf:
- Erhalte den ersten Buchstaben eines Strings und entferne alle weiteren Vorkommen von a, e, h, i, o, u, w, y
- Ordne den übrigen Buchstaben Zahlen zu:
- b, f, p, v = 1
- c, g, j, k, q, s, x, z = 2
- d, t = 3
- l = 4
- m, n = 5
- r = 6
- Falls zwei oder mehr Buchstaben mit derselben Nummer im Originalnamen nacheinander folgen oder falls einem Buchstaben ein h oder w folgt, erhalte nur den ersten Buchstaben
- Gebe die ersten 4 Bytes mit 0 aufgefüllt aus
Beispiel:
SELECT soundex('Gunther') FROM dual; => G536 SELECT soundex('Gunter') FROM dual; => G536 SELECT soundex('Gntr') FROM dual; => G536
Ein praktischer Einsatz ist das Finden aller Personen mit Namen wie „Günter“,„Günther“,„Gunther“,Gunter„ etc.
Quellen
dba/oracle_soundex_function.txt · Zuletzt geändert: 2016/01/23 18:20 von gpipperr