Función SOUNDEX( )

Devuelve el código soundex para la cadena especificada, que puede ser utilizado para las comparaciones fonéticas con otras cadenas.

Sintaxis

SOUNDEX(nombre)

Parámetros

Nombre Tipo Descripción
nombre carácter La expresión de caracteres para evaluar.

Salida

Carácter. Devuelve un código soundex de cuatro caracteres.

Ejemplos

Ejemplos básicos

Palabras que suenan igual pero se escriben diferente

Los dos ejemplos a continuación ofrecen el mismo código soundex porque suenan igual, aunque se escriben de manera diferente.

Devuelve F634:

SOUNDEX("Fairdale")

Devuelve F634:

SOUNDEX("Faredale")

Palabras que suenan de modo similar

Los dos ejemplos a continuación devuelven códigos soundex diferentes, pero cercanos, porque ambas palabras suenan de manera similar.

Devuelve J525:

SOUNDEX("Jonson")

Devuelve J523:

SOUNDEX("Jonston")

Palabras que suenan diferente

Los dos ejemplos a continuación devuelven códigos soundex que son bastante diferentes, pero las dos palabras no pronuncian para nada de manera similar.

Devuelve S530:

SOUNDEX("Smith")

Devuelve M235:

SOUNDEX("MacDonald")

Valor de entrada del campo

Devuelve el código soundex para cada valor en el campo Apellido:

SOUNDEX(Apellido)

Ejemplos avanzados

Identificación de códigos soundex coincidentes

Cree el campo calculado Código_soundex para mostrar el código soundex de cada valor del campo Apellido:

DEFINE FIELD Código_soundex COMPUTED SOUNDEX(Apellido)

Agregue el campo Código_soundeX a la vista y, a continuación, realice una prueba de duplicados en el campo calculado para identificar todos los códigos soundex coincidentes:

DUPLICATES ON Código_soundex OTHER Apellido PRESORT OPEN TO "Posibles_Duplicados.fil"

Los códigos soundex coincidentes indican que los valores de caracteres asociados en el campo Apellido son posibles duplicados.

Observaciones

Cuándo usar SOUNDEX( )

Utilice la función SOUNDEX( ) 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

SOUNDEX( ) devuelve el código Soundex estadounidense para la cadena evaluada. Todos los códigos están compuestos por una letra seguida de tres números. Por ejemplo: "F634".

Cómo se deriva el código soundex

  • El primer carácter del código representa la primera letra de la cadena que se evaluó.
  • Cada número del código representa uno de los seis grupos Soundex estadounidenses. Los grupos están conformados por consonantes fonéticamente similares.

    En función de estos grupos, el proceso soundex codifica las tres primeras consonantes de la cadena evaluada después de la primera letra.

Qué ignora el proceso soundex

El proceso soundex ignora lo siguiente:

  • uso de mayúsculas
  • vocales
  • las consonantes "H", "W" y "Y"
  • todas las consonantes que aparecen después de las tres consonantes codificadas

Uno o más ceros (0) en el código devuelto indican una cadena evaluada con menos de tres consonantes después de la primera letra.

Limitaciones del proceso soundex

Tanto la función SOUNDEX( ) como la función SOUNDSLIKE( ) 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

  • SOUNDSLIKE( ) 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