
Blok funkce SOUNDEX vypočítává zvukovou podobnost řetězce znaků.
Hodnoty Soundex mají vlastnost, že podobně vyslovovaná slova vytvářejí stejnou hodnotu Soundex. To lze použít k vyhledávání v databázích, pokud znáte výslovnost, ale ne přesné psaní. Funkce Soundex vrátí řetězec čtyř znaků začínající písmenem.
Vstup definuje řetězec znaků k vypočítání.
Vrátí řetězec se Soundexovým kódem.
Každý Soundexový kód se skládá z jednoho písmene následovaného třemi číslicemi, například A532 pro Antcas. Má-li slovo tak mnoho písmen, že by se daly vytvořit více číslice, přeruší se po třetí číslici. Má-li slovo příliš málo písmen, doplní se poslední číslice nuly. Asijské jméno Lee se tedy kóduje jako L000.
| Číslice | Reprezentovaná písmena |
|---|---|
| 1 | B, F, P, V |
| 2 | C, G, J, K, Q, S, X, Z |
| 3 | D, T |
| 4 | L |
| 5 | M, N |
| 6 | R |
Samohlásky A, E, I, O a U a souhlásky H, W a Y se ignorují, pokud nejsou prvním znakem. Pro německý jazyk lze dále definovat: Umlauty Ä, Ö a Ü se ignorují, ostré S ß se kóduje jako jednoduché S.
Mají-li v původním řetězci znaků několik po sobě jdoucích písmen stejný Soundexový kód, objeví se tento kód ve výsledku pouze jednou, z abfx se tedy stane například A120 (a zůstává, protože je prvním písmenem, b a f dávají stejný kód 1, x dává 2, na konci se přidá nula, aby se dostalo ke čtyřem znakům).
Při praktickém použití postupu Soundex jsou především dva body kritizovány: Za prvé je velmi zaměřen na anglický jazyk a za druhé nabízí pouze velmi hrubou analýzu.
Nicméně lze konstatovat, že se jedná o nejčastěji používaný algoritmus pro fonetické vyhledávání. K tomu přispělo jistě i to, že pro databázi Oracle byl již velmi brzy implementován odpovídající standardní příkaz PL/SQL.