AdvancedString Functions
Soundex and metaphone for phonetic matching
The query
SQL
-- Requires: CREATE EXTENSION fuzzystrmatch;
-- Soundex: American English phonetic algorithm
SELECT name, SOUNDEX(name) AS soundex_code
FROM customers;
-- Find phonetically similar names
SELECT a.name, b.name, DIFFERENCE(a.name, b.name) AS phonetic_similarity
FROM customers a
CROSS JOIN customers b
WHERE a.cust_id < b.cust_id
AND SOUNDEX(a.name) = SOUNDEX(b.name); -- same soundex = phonetically similar
-- Metaphone: more accurate than soundex
SELECT name, METAPHONE(name, 6) AS metaphone
FROM customers;Note
“SOUNDEX and METAPHONE for name deduplication in CRM/HR systems. DIFFERENCE(1-4): 4 = identical sound.