
Blocul funcțional SOUNDEX calculează asemănarea fonetică a unui șir de caractere.
Valorile Soundex au proprietatea că cuvintele pronunțate în mod similar produc același cod Soundex. Aceasta poate fi utilizată pentru căutări în baze de date, atunci când cunoașteți pronunția, dar nu și scrierea exactă. Funcția Soundex returnază un șir de caractere format din patru caractere, început cu o literă.
Intrarea definește șirul de caractere de calculat.
Returnează un șir de caractere cu codul Soundex.
Fiecare cod Soundex constă dintr-o literă urmată de trei cifre, de exemplu A532 pentru Antcas. Dacă cuvântul care trebuie codificat are atât de multe litere încât ar putea genera mai multe cifre, se întrerupe după a treia cifră. Dacă cuvântul are prea puține litere, se completează ultimele cifre cu zerouri. Astfel, numele asiatic Lee este codificat ca L000.
| Cifră | Litere reprezentate |
|---|---|
| 1 | B, F, P, V |
| 2 | C, G, J, K, Q, S, X, Z |
| 3 | D, T |
| 4 | L |
| 5 | M, N |
| 6 | R |
Vocalele A, E, I, O și U și consoanele H, W și Y trebuie ignorate, cu excepția primului caracter. În plus, pentru limba germană, se poate defini: diacriticele Ä, Ö și Ü trebuie ignorate, iar litera „S” ascuțită ß este codificată ca un simplu S.
Dacă mai multe litere consecutive din șirul original de caractere au același cod Soundex, acesta apare în rezultat doar o dată, astfel încât din abfx rezultă aproximativ A120 (a rămâne, deoarece este prima literă, b și f dau același cod 1, x dă 2, la sfârșit se adaugă un zero pentru a obține patru caractere).
În aplicarea practică a metodei Soundex, două puncte principale sunt criticate: în primul rând, este foarte orientată spre limba engleză, iar în al doilea rând, oferă doar o analiză foarte grosieră.
Cu toate acestea, trebuie remarcat faptul că algoritmul prezentat este probabil cel mai frecvent utilizat pentru căutarea fonetică. Aceasta a fost sigur facilitată de faptul că pentru baza de date Oracle a fost implementată destul de devreme o comandă standard PL/SQL corespunzătoare.