Comparaison des fonctions SOUNDEX et DIFFERENCE

La fonction SOUNDEX permet de convertir une chaîne de caractères en code à quatre chiffres en vue d'une comparaison. Les voyelles sont ignorées dans la comparaison. Les caractères non alphabétiques sont utilisés pour terminer la comparaison. Cette fonction retourne toujours une valeur.

L'exemple suivant affiche les résultats de la fonction SOUNDEX pour les chaînes de caractères similaires smith et smythe. Lorsque les chaînes de caractères sont similaires, les deux chaînes ont les mêmes codes SOUNDEX.

SELECT SOUNDEX ('smith'), SOUNDEX ('smythe');
GO

Voici l'ensemble des résultats.

-----          -----
S530           S530

(1 row(s) affected)

La fonction DIFFERENCE permet de comparer les valeurs SOUNDEX de deux chaînes et d'évaluer leur ressemblance en fournissant une valeur de 0 à 4. La plus grande similitude est indiquée par la valeur 4. L'exemple suivant retourne une valeur DIFFERENCE de 4 pour le premier SELECT car smithers et smothers ne diffèrent que d'un seul caractère.

SELECT DIFFERENCE('smithers', 'smothers');
GO

Voici l'ensemble des résultats.

------------
           4
(1 row(s) affected)

L'exemple suivant retourne une valeur DIFFERENCE de 3. Ce résultat indique que les deux chaînes ont un son similaire bien qu'elles comportent plusieurs caractères différents.

SELECT DIFFERENCE('Jeff', 'Geoffe');
GO

Voici l'ensemble des résultats.

-----------
3

(1 row(s) affected)