SOUNDEX (Transact-SQL)
Retourne un code à quatre caractères (SOUNDEX) pour évaluer la similitude entre deux chaînes.
Conventions de la syntaxe de Transact-SQL
Syntaxe
SOUNDEX ( character_expression )
Arguments
character_expression
Expression alphanumérique d'une donnée de type caractère (character). character_expression peut être une constante, une variable ou une colonne.
Notes
La fonction SOUNDEX convertit une chaîne de caractères alphanumériques en un code à quatre caractères pour trouver des mots ou des noms à consonance similaire. Le premier caractère du code est le premier caractère de character_expression tandis que les deuxième, troisième et quatrième caractères de ce code sont des chiffres. Les voyelles sont ignorées dans character_expression, à moins qu'il ne s'agisse de la première lettre de la chaîne. Il est possible d'imbriquer des fonctions de chaîne.
Types de retour
varchar
Exemples
L'exemple suivant illustre la fonction SOUNDEX et la fonction associée DIFFERENCE. Dans le premier exemple, les valeurs standard SOUNDEX
sont retournées pour toutes les consonnes. La fonction SOUNDEX
exécutée sur Smith
et Smythe
retourne le même résultat SOUNDEX parce que toutes les voyelles, la lettre « y
», les lettres doubles et la lettre « h
» ne sont pas comprises.
-- Using SOUNDEX
SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe');
Voici l'ensemble des résultats.
----- -----
S530 S530
(1 row(s) affected)
La fonction DIFFERENCE
calcule la différence des résultats du modèle SOUNDEX
. L'exemple suivant illustre deux chaînes de caractères qui ne diffèrent que par les voyelles. La différence retournée est 4
, soit la plus petite différence possible.
-- Using DIFFERENCE
SELECT DIFFERENCE('Smithers', 'Smythers');
GO
Voici l'ensemble des résultats.
-----------
4
(1 row(s) affected)
Dans l'exemple suivant, les chaînes de caractères diffèrent par leurs consonnes ; la valeur retournée est donc 2
, soit la différence la plus importante.
SELECT DIFFERENCE('Anothers', 'Brothers');
GO
Voici l'ensemble des résultats.
-----------
2
(1 row(s) affected)
Voir aussi
Référence
Fonctions de chaîne (Transact-SQL)