
Resumen: en este tutorial, aprenderás a usar la función DIFFERENCE()
de SQL Server para comparar que tan parecido suenan dos cadenas, utilizando también la función SOUNDEX().
Introducción a la función DIFFERENCE() de SQL Server
Dada una cadena, la función SOUNDEX() la convierte en un código de cuatro caracteres en función de cómo suena la cadena cuando se pronuncia.
Por ejemplo, las palabras Two y Too suenan igual, por lo que deben tener los mismos valores SOUNDEX():
SELECT
SOUNDEX('Too') Too,
SOUNDEX('Two') Two;
Resultado:
Too Two
----- -----
T000 T000
(1 row affected)
La función DIFFERENCE()
devuelve un valor entero que mide la diferencia entre los valores SOUNDEX() de dos cadenas.
A continuación, se muestra la sintaxis de la función DIFFERENCE()
:
DIFFERENCE(input_string1, input_string2)
El resultado de DIFFERENCE()
indica la diferencia entre los dos valores de SOUNDEX() en una escala de 0 a 4. Un valor de 0 significa poca o ninguna similitud entre los valores de SOUNDEX(); 4 significa valores de SOUNDEX() muy similares o idénticos.
Función DIFFERENCE() de SQL Server
Tomemos algunos ejemplos para comprender uso de la función DIFFERENCE()
y ver cómo funciona.
Uso de la función DIFFERENCE()
con valores SOUNDEX()
similares
Este ejemplo usa la función DIFFERENCE()
para comparar los valores SOUNDEX() de dos cadenas Two and Too:
SELECT
SOUNDEX('Two') soundex_two,
SOUNDEX('Too') soundex_too,
DIFFERENCE('Two', 'Too') similarity;
Resultado:
soundex_two soundex_too similarity
----------- ----------- -----------
T000 T000 4
(1 row affected)
El siguiente es otro ejemplo que compara la diferencia en los valores SOUNDEX() de John
y Johny
:
SELECT
SOUNDEX('Johny') soundex_johny,
SOUNDEX('John') soundex_john,
DIFFERENCE('Johny', 'John') similarity;
Resultado:
soundex_johny soundex_john similarity
------------- ------------ -----------
J500 J500 4
(1 row affected)
Uso de la función DIFFERENCE()
para diferentes valores de SOUNDEX()
El siguiente ejemplo ilustra cómo funciona DIFFERENCE()
al comparar dos cadenas que tienen un sonido débil o no similar:
SELECT
SOUNDEX('Coffee') soundex_coffee,
SOUNDEX('Laptop') soundex_laptop,
DIFFERENCE('Coffee', 'Laptop') similarity;
Resultado:
soundex_coffee soundex_laptop similarity
-------------- -------------- -----------
C100 L131 1
(1 row affected)
En este tutorial, aprendiste a usar la función DIFFERENCE()
de SQL Server para comparar los valores SOUNDEX() de dos cadenas.