SOUNDEX
SOUNDEX is a Transact SQL function that is used to compare the similarity of strings.
SOUNDEX in netFORUM
netFORUM uses the SOUNDEX function in the Duplicate Check Child Forms for:
- The Individual object. The function is used in the co_individual_dup_check stored procedure to compare first name and last name.
- The Organization duplicate child form for Organizations compares the organization name.
SOUNDEX is a simple function that takes the first letter of the word and then takes the rest of the work and strips out the vowels and repeated letters to compare values.
SOUNDEX does not have as much common sense as the human intellect and will sometimes result in seemingly illogical suggestions for a duplicate, as well as potentially miss an obvious duplicate suggestion. Therefore, be aware that any duplicate checking that uses SOUNDEX may result in some unpredictable choices.
For example, the names Morris and Myers, although they seem different, evaluate to the same SOUNDEX value. But Richard and Rich evaluate to different SOUNDEX values and therefore are not flagged as suspected duplicates.
SOUNDEX translates these by ignoring the vowels and repeated letters and keeps the core, non-repeated consonant letters (shown in uppercase red in the following example):
Here is the SOUNDEX logic for the first pair, which returns the same values:
M o R r i S --> MRS
M y e R S -> MRS
Here is the SOUNDEX logic for the second pair, which returns different values even though to a human this pair is more similar:
R i C H a R d -> RCHR
R i C H --> RCH