SQL Server’s SOUNDEX and DIFFERENCE functions can be used to performqueries based on phonetic comparisons. Although they may share similarpurposes, they have some differences.
SOUNDEX takes a character string and modifies it to a four-digit code for use in query comparisons. Characters that aren’t alphabetic end the comparison, and vowels are ignored. Therefore, the following query comparing “principal” and “principle” yields thesame result:
SELECT SOUNDEX ('principal'), SOUNDEX
('principle')----- ----- P652 P652
But a query comparing the words cat and dog shows these words as different:
SELECT SOUNDEX ('cat'), SOUNDEX ('dog') ----- ----- C300 D200
In contrast, the DIFFERENCE function uses the SOUNDEX values of the twostrings to determine their phonetic similarity. The resulting value is a 0to 4 rank of the difference between the two strings, where 4 is the bestmatch. So, comparing “principal” to “principle” with the DIFFERENCE function yields the following result:
SELECT DIFFERENCE('principal', 'principle')-----4
But a query looking at the difference between the words cat and dog shows adifferent result:
SELECT DIFFERENCE('cat', 'dog')---- 2