
Il blocco funzionale SOUNDEX calcola la somiglianza fonetica di una stringa.
I valori Soundex hanno la proprietà che le parole pronunciate in modo simile producono lo stesso valore Soundex. Questo può essere utilizzato per la ricerca nei database quando si conosce la pronuncia ma non l'ortografia esatta. La funzione Soundex restituisce una stringa di quattro caratteri, iniziando con una lettera.
L'ingresso definisce la stringa da calcolare.
Restituisce una stringa con il codice Soundex.
Ogni codice Soundex consiste di una lettera seguita da tre cifre, ad esempio A532 per Antcas. Se la parola da codificare ha così tanti caratteri che si potrebbero generare più cifre, si interrompe dopo la terza cifra. Se la parola ha troppo pochi caratteri, le ultime cifre vengono riempite con zeri. Il nome asiatico Lee viene quindi codificato come L000.
| Cifra | Lettere Rappresentate |
|---|---|
| 1 | B, F, P, V |
| 2 | C, G, J, K, Q, S, X, Z |
| 3 | D, T |
| 4 | L |
| 5 | M, N |
| 6 | R |
Le vocali A, E, I, O e U e le consonanti H, W e Y sono da ignorare, tranne che per il primo carattere. Inoltre, per la lingua tedesca, si può definire: le vocali con umlaut Ä, Ö e Ü sono da ignorare, la "S" affilata ß viene codificata come la semplice S.
Se più lettere consecutive nella stringa originale hanno lo stesso codice Soundex, questo appare nel risultato solo una volta, da abfx diventa quindi circa A120 (a rimane, perché primo carattere, b e f danno entrambi lo stesso codice 1, x dà 2, alla fine viene aggiunto uno zero per ottenere quattro caratteri).
Nell'applicazione pratica del metodo Soundex, vengono principalmente criticati due punti: da un lato è molto orientato alla lingua inglese, dall'altro offre solo un'analisi molto grossolana.
Tuttavia, va notato che l'algoritmo rappresentato è probabilmente quello più comunemente utilizzato per la ricerca fonetica. Ha sicuramente contribuito al fatto che per il database Oracle sia stato implementato molto presto un corrispondente comando standard PL/SQL.