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

Optimiza tus consultas en SQL Server con NOT EXISTS: Aprende a utilizarla en este artículo

Optimiza tus consultas en SQL Server con NOT EXISTS: Aprende a utilizarla en este artículo

Resumen: en este artículo sobre NOT EXISTS de SQL Server, aprenderás sobre la sintaxis y uso de esta cláusula en consultas de bases de datos.

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
¿Cómo obtener una subcadena de una cadena de caracteres en SQL Server con la función Substring?

¿Cómo obtener una subcadena de una cadena de caracteres en SQL Server con la función Substring?

En este tutorial, aprenderá a usar la función SUBSTRING() de SQL Server para extraer una subcadena de una cadena.

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