Función SOUNDSLIKE( )

Devuelve un valor lógico que indica si una cadena coincide fonéticamente con una cadena de comparación.

Sintaxis

SOUNDSLIKE(nombre; suena_como_nombre)

Parámetros

Nombre Tipo Descripción
nombre carácter La primera cadena de la comparación.
suena_como_nombre carácter La segunda cadena de la comparación.

Salida

Lógico. Devuelve T (verdadero) si los valores que se están comparando coinciden fonéticamente y F (falso) en caso contrario.

Ejemplos

Ejemplos básicos

Devuelve T, porque tanto “Fairdale” como “Faredale” tienen un código soundex de F634:

SOUNDSLIKE("Fairdale";"Faredale")

Devuelve F, porque "Jonson" tiene un código soundex de J525 y "Jonston" tiene un código soundex de J523:

SOUNDSLIKE("Jonson";"Jonston")

Devuelve un valor lógico (T o F) que indica si el código soundex para cada valor del campo Apellido coincide con el código soundex para la cadena "Smith":

SOUNDSLIKE(Apellido; Smith")

Ejemplos avanzados

Aislar valores que suenan como "Smith"

Cree un filtro que aísle todos los valores del campo Apellido que suenan como "Smith":

SET FILTER TO SOUNDSLIKE(Apellido;"Smith")

Observaciones

Cuándo usar SOUNDSLIKE( )

Utilice la función SOUNDSLIKE( ) para buscar valores que suenen de manera similar. La similitud fonética es una manera de localizar posibles valores duplicados, u ortografía incoherente en los datos que se introducen de forma manual.

Cómo funciona

SOUNDSLIKE( ) convierte las cadenas de comparación en códigos Soundex de cuatro caracteres estadounidenses, a partir de la primera letra y las tres primeras consonantes después de la primera letra, en cada cadena.

A continuación, la función compara el código de cada cadena y devuelve un valor lógico que indica si coinciden.

Si desea obtener más información acerca de los códigos soundex, consulte Función SOUNDEX( ).

Coincidir mayúsc.-minúsc.

Esta función no distingue entre mayúsculas y minúsculas; por lo tanto "SMITH" es equivalente a "smith".

Limitaciones del proceso soundex

Tanto la función SOUNDSLIKE( ) como la función SOUNDEX( ) tienen ciertas limitaciones:

  • El algoritmo soundex está diseñado para trabajar con las palabras pronunciadas en inglés y tiene diferentes grados de efectividad cuando se usa con otros idiomas.
  • Aunque el proceso soundex realiza una coincidencia fonética, todas las palabras coincidentes deben comenzar con la misma letra, lo que significa que algunas palabras que suenan igual no se dan por coincidentes.

    Por ejemplo, una palabra que comienza con una "F" y una palabra que comienza con "Ph" podrían sonar igual, pero nunca se darán por coincidentes.

Funciones relacionadas

  • SOUNDEX( ) proporciona un método alternativo para comparar cadenas fonéticamente.
  • ISFUZZYDUP( ) y LEVDIST comparan cadenas según la comparación ortográfica (escritura) en lugar de hacerlo por una comparación fonética (sonido).
  • DICECOEFFICIENT( ) le quita el énfasis o ignora completamente la posición relativa de los caracteres o de los bloques de caracteres al comparar cadenas.
Guía de creación de scripts de ACL 14.1