SQL

Comparar el sonido de dos palabras con la función DIFFERENCE() y SOUNDEX() de SQL Server

Estrada Web Group
Estrada Web Group
Comparar el sonido de dos palabras con la función DIFFERENCE() y SOUNDEX() de SQL Server

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.

 

Compartir artículo:

Más artículos geniales

¿Qué es y para qué sirve SQL UNION?

¿Qué es y para qué sirve SQL UNION?

En este tutorial, aprenderá a usar SQL UNION para combinar los resultados de dos o más tablas en un solo conjunto de resultados.

Ver artículo completo
¿Cómo unir o concatenar dos o más columnas separadas por un espacio en SQL con CONCAT_WS?

¿Cómo unir o concatenar dos o más columnas separadas por un espacio en SQL con CONCAT_WS?

En este tutorial, aprenderá a usar la función CONCAT_WS() de SQL Server para unir varias cadenas junto con un separador, esta función solo esta disponible en SQL Server 2017 en adelante.

Ver artículo completo
¿Cuáles son los diferentes tipos de índices en SQL Server y cuándo usar cada uno de ellos?

¿Cuáles son los diferentes tipos de índices en SQL Server y cuándo usar cada uno de ellos?

Resumen: Con este artículo, aprenderás qué son los índices en SQL Server, los diferentes tipos de índices que existen y cuándo es apropiado utilizar cada uno de ellos. También puedes entender las ventajas y desventajas de cada tipo de índice y cómo se pueden utilizar en la optimización de consultas

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla