Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia administrada de Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de SQL Analytics en Microsoft Fabric
Almacén en Microsoft Fabric
Base de datos SQL en Microsoft Fabric
Devuelve un código de cuatro caracteres (SOUNDEX) para evaluar la similitud de dos cadenas.
Convenciones de sintaxis de Transact-SQL
Sintaxis
SOUNDEX ( character_expression )
Argumentos
character_expression
Expresión de alfanumérica de datos de caracteres. character_expression puede ser una constante, una variable o una columna.
Tipos devueltos
varchar
Observaciones
SOUNDEX convierte una cadena alfanumérica en un código de cuatro caracteres basado en cómo suena la cadena cuando se habla en inglés. El primer carácter del código es el primer carácter de character_expression, convertido a mayúsculas. Los caracteres segundo a cuarto del código son números que representan las letras de la expresión. Las letras A, E, I, O, U, H, Wy Y se omiten a menos que sean la primera letra de la cadena. Se agregan ceros al final si se necesita crear un código de cuatro caracteres. Para obtener más información sobre el código de SOUNDEX, vea The Soundex Indexing System.
SOUNDEX códigos de diferentes cadenas se pueden comparar para ver cómo suenan las cadenas cuando se habla. La función
SOUNDEX distingue la intercalación. Las funciones de cadena se pueden anidar.
Compatibilidad con SOUNDEX
En versiones anteriores de SQL Server, la función SOUNDEX aplicó un subconjunto de las reglas de SOUNDEX. En el nivel de compatibilidad de base de datos 110 o posterior, SQL Server aplica un conjunto de reglas más completo.
Después de actualizar al nivel de compatibilidad 110 o superior, es posible que tenga que volver a generar los índices, montones o restricciones de CHECK que usan la función SOUNDEX.
Un montón que contiene una columna calculada persistente definida con
SOUNDEXno se puede consultar hasta que se vuelva a generar el montón ejecutando la instrucción siguiente:ALTER TABLE <table> REBUILD;CHECKrestricciones definidas conSOUNDEXse deshabilitan tras la actualización. Para habilitar la restricción, ejecute la instrucción siguiente:ALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL;Los índices (incluidas las vistas indizadas) que contienen una columna calculada persistente definida con
SOUNDEXno se pueden consultar hasta que se vuelva a generar el índice mediante la ejecución de la instrucción siguiente:ALTER INDEX ALL ON <object> REBUILD;
Ejemplos
Un. Uso de SOUNDEX
En el ejemplo siguiente se muestra la función SOUNDEX y la función DIFFERENCE relacionada. En el primer ejemplo se obtienen los valores estándar de SOUNDEX para todas las consonantes. Al devolver el SOUNDEX de Smith y Smythe se devuelve el mismo SOUNDEX resultado porque no se incluyen todas las vocales, la letra y, letras duplicadas y la letra h.
SELECT SOUNDEX('Smith'),
SOUNDEX('Smythe');
Este es el conjunto de resultados. Válido para una intercalación de Latin1_General.
S530 S530
B. Usar DIFFERENCE
La función DIFFERENCE compara la diferencia entre los resultados del modelo SOUNDEX. El siguiente ejemplo muestra dos cadenas que solo difieren en las vocales. La diferencia obtenida es 4, la mínima posible.
SELECT DIFFERENCE('Smithers', 'Smythers');
GO
Este es el conjunto de resultados. Válido para una intercalación de Latin1_General.
4
En el ejemplo siguiente, las cadenas varían en las consonantes; por tanto, la diferencia obtenida es 2, la máxima posible.
SELECT DIFFERENCE('Anothers', 'Brothers');
GO
Este es el conjunto de resultados. Válido para una intercalación de Latin1_General.
2
Contenido relacionado
- DIFERENCIA (Transact-SQL)
- String Functions (Transact-SQL) [Funciones de cadena (Transact-SQL)]
- ALTER DATABASE (Transact-SQL) nivel de compatibilidad