SOUNDEX (Transact-SQL)SOUNDEX (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database síAzure SQL Data Warehouse síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Devuelve un código de cuatro caracteres (SOUNDEX) para evaluar la semejanza de dos cadenas.Returns a four-character (SOUNDEX) code to evaluate the similarity of two strings.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

SOUNDEX ( character_expression )  

ArgumentosArguments

character_expressioncharacter_expression
Es una expresión alfanumérica de datos de caracteres.Is an alphanumeric expression of character data. character_expression puede ser una constante, una variable o una columna.character_expression can be a constant, variable, or column.

Tipos devueltosReturn Types

varcharvarchar

NotasRemarks

SOUNDEX convierte una cadena alfanumérica en un código de cuatro caracteres que se basa en cómo suena la cadena cuando se pronuncia.SOUNDEX converts an alphanumeric string to a four-character code that is based on how the string sounds when spoken. El primer carácter del código es el primer carácter de character_expression, convertido a mayúsculas.The first character of the code is the first character of character_expression, converted to upper case. Los caracteres segundo a cuarto del código son números que representan las letras de la expresión.The second through fourth characters of the code are numbers that represent the letters in the expression. Las letras A, E, I, O, U, H, W e Y se omiten a menos que sean la primera letra de la cadena.The letters A, E, I, O, U, H, W, and Y are ignored unless they are the first letter of the string. Se agregan ceros al final si se necesita crear un código de cuatro caracteres.Zeroes are added at the end if necessary to produce a four-character code. Para más información sobre el código SOUNDEX, vea The Soundex Indexing System (Sistema de indización Soundex).For more information about the SOUNDEX code, see The Soundex Indexing System.

Se pueden comparar códigos SOUNDEX de distintas cadenas para ver la similitud de las cadenas cuando se pronuncian.SOUNDEX codes from different strings can be compared to see how similar the strings sound when spoken. La función DIFFERENCE realiza una operación SOUNDEX en dos cadenas y devuelve un entero que representa la similitud de los códigos SOUNDEX para esas cadenas.The DIFFERENCE function performs a SOUNDEX on two strings, and returns an integer that represents how similar the SOUNDEX codes are for those strings.

SOUNDEX distingue la intercalación.SOUNDEX is collation sensitive. Las funciones de cadena se pueden anidar.String functions can be nested.

Compatibilidad con SOUNDEXSOUNDEX Compatibility

En versiones anteriores de SQL ServerSQL Server, la función SOUNDEX aplicaba un subconjunto de las reglas de SOUNDEX.In previous versions of SQL ServerSQL Server, the SOUNDEX function applied a subset of the SOUNDEX rules. En el nivel de compatibilidad de base de datos 110 o posterior, SQL ServerSQL Server aplica un conjunto de reglas más completo.Under database compatibility level 110 or higher, SQL ServerSQL Server applies a more complete set of the rules.

Después de actualizar al nivel de compatibilidad 110 o posterior, es posible que tenga que regenerar los índices, los montones o las restricciones CHECK que usan la función SOUNDEX.After upgrading to compatibility level 110 or higher, you may need to rebuild the indexes, heaps, or CHECK constraints that use the SOUNDEX function.

  • Un montón que contiene una columna computada persistida definida con SOUNDEX no puede ser consultada hasta que el montón sea reconstruido ejecutando la declaraciónALTER TABLE <table> REBUILD.A heap that contains a persisted computed column defined with SOUNDEX cannot be queried until the heap is rebuilt by running the statement ALTER TABLE <table> REBUILD.

  • Las restricciones CHECK definidas con SOUNDEX son deshabilitadas tras una actualización.CHECK constraints defined with SOUNDEX are disabled upon upgrade. Para permitir la restricción, ejecute la declaraciónALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL.To enable the constraint, run the statement ALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL.

  • Los índices (incluyendo las vistas indizadas) que contienen una columna computada persistida definida con SOUNDEX no pueden ser consultados hasta que el índice sea reconstruido ejecutando la declaraciónALTER INDEX ALL ON <object> REBUILD.Indexes (including indexed views) that contain a persisted computed column defined with SOUNDEX cannot be queried until the index is rebuilt by running the statement ALTER INDEX ALL ON <object> REBUILD.

EjemplosExamples

El ejemplo siguiente muestra la función SOUNDEX y la función relacionada DIFFERENCE.The following example shows the SOUNDEX function and the related DIFFERENCE function. En el primer ejemplo se obtienen los valores estándar de SOUNDEX para todas las consonantes.In the first example, the standard SOUNDEX values are returned for all consonants. Al usar SOUNDEX para las cadenas Smith y Smythe se obtiene el mismo resultado, ya que todas las vocales, la letra y, las letras duplicadas y la letra h no se incluyen.Returning the SOUNDEX for Smith and Smythe returns the same SOUNDEX result because all vowels, the letter y, doubled letters, and the letter h, are not included.

-- Using SOUNDEX  
SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe');  

El conjunto de resultados es el siguiente.Here is the result set. Válido para una intercalación Latin1_General.Valid for a Latin1_General collation.

  
----- -----   
S530  S530    
  
(1 row(s) affected)  

La función DIFFERENCE compara la diferencia entre los resultados del modelo SOUNDEX.The DIFFERENCE function compares the difference of the SOUNDEX pattern results. El siguiente ejemplo muestra dos cadenas que solo difieren en las vocales.The following example shows two strings that differ only in vowels. La diferencia obtenida es 4, la mínima posible.The difference returned is 4, the lowest possible difference.

-- Using DIFFERENCE  
SELECT DIFFERENCE('Smithers', 'Smythers');  
GO  

El conjunto de resultados es el siguiente.Here is the result set. Válido para una intercalación Latin1_General.Valid for a Latin1_General collation.

-----------   
4             
  
(1 row(s) affected)  

En el ejemplo siguiente, las cadenas varían en las consonantes; por tanto, la diferencia obtenida es 2, la máxima posible.In the following example, the strings differ in consonants; therefore, the difference returned is 2, the greater difference.

SELECT DIFFERENCE('Anothers', 'Brothers');  
GO  

El conjunto de resultados es el siguiente.Here is the result set. Válido para una intercalación Latin1_General.Valid for a Latin1_General collation.

-----------   
2             
  
(1 row(s) affected)  

Consulte tambiénSee Also

DIFFERENCE (Transact-SQL) DIFFERENCE (Transact-SQL)
Funciones de cadena (Transact-SQL) String Functions (Transact-SQL)
Nivel de compatibilidad de ALTER DATABASE (Transact-SQL)ALTER DATABASE Compatibility Level (Transact-SQL)