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.