devxlogo

The Difference Between SOUNDEX and DIFFERENCE in SQL Server 7.0

The Difference Between SOUNDEX and DIFFERENCE in SQL Server 7.0

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

devx-admin

Share the Post: