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

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simSQL Data Warehouse do Azure simParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Retorna um código de quatro caracteres (SOUNDEX) para avaliar a semelhança de duas cadeias de caracteres.Returns a four-character (SOUNDEX) code to evaluate the similarity of two strings.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

SOUNDEX ( character_expression )  

ArgumentosArguments

character_expressioncharacter_expression
É uma expression alfanumérica de dados de caractere.Is an alphanumeric expression of character data. character_expression pode ser uma constante, variável ou coluna.character_expression can be a constant, variable, or column.

Tipos de retornoReturn Types

varcharvarchar

RemarksRemarks

SOUNDEX converte uma cadeia de caracteres alfanumérica em código de quatro caracteres que se baseia no som da cadeia de caracteres quando ela é falada.SOUNDEX converts an alphanumeric string to a four-character code that is based on how the string sounds when spoken. O primeiro caractere do código é o primeiro caractere de character_expression, convertido em maiúsculas.The first character of the code is the first character of character_expression, converted to upper case. O segundo até o quarto caractere do código são números que representam as letras da expressão.The second through fourth characters of the code are numbers that represent the letters in the expression. As letras A, E, I, O, U, H, W e Y serão ignoradas, a menos que elas sejam a primeira letra da cadeia de caracteres.The letters A, E, I, O, U, H, W, and Y are ignored unless they are the first letter of the string. Zeros serão adicionados ao término, se necessário, para gerar um código de quatro caracteres.Zeroes are added at the end if necessary to produce a four-character code. Para obter mais informações sobre o código SOUNDEX, consulte O sistema de indexação Soundex.For more information about the SOUNDEX code, see The Soundex Indexing System.

Os códigos de SOUNDEX de cadeias de caracteres diferentes podem ser comparados para verificar a similaridade do som das cadeias de caracteres quando faladas.SOUNDEX codes from different strings can be compared to see how similar the strings sound when spoken. A função DIFFERENCE executa um SOUNDEX de duas cadeias de caracteres, e retorna um número inteiro que representa o grau de similaridade dos códigos de SOUNDEX dessas cadeias de caracteres.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 diferencia ordenações.SOUNDEX is collation sensitive. As funções de cadeia de caracteres podem ser aninhadas.String functions can be nested.

Compatibilidade com SOUNDEXSOUNDEX Compatibility

Nas versões anteriores do SQL ServerSQL Server, a função SOUNDEX aplicou um subconjunto das regras de SOUNDEX.In previous versions of SQL ServerSQL Server, the SOUNDEX function applied a subset of the SOUNDEX rules. No nível de compatibilidade de banco de dados 110 ou superior, o SQL ServerSQL Server aplica mais um conjunto mais completo das regras.Under database compatibility level 110 or higher, SQL ServerSQL Server applies a more complete set of the rules.

Após a atualização para o nível de compatibilidade 110 ou superior, talvez seja necessário recriar os índices, os heaps ou as restrições CHECK que usam a função 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.

  • Um heap que contém uma coluna computada persistente definida com SOUNDEX não pode ser consultado até que o heap seja reconstruído executando a instrução ALTER 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.

  • As restrições CHECK definidas com SOUNDEX são desabilitadas após a atualização.CHECK constraints defined with SOUNDEX are disabled upon upgrade. Para habilitar a restrição, execute a instrução ALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL.To enable the constraint, run the statement ALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL.

  • Índices (incluindo exibições indexadas) que contêm uma coluna computada persistida definida com SOUNDEX não pode ser consultado até que o índice seja reconstruído executando a instrução ALTER 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.

ExemplosExamples

O exemplo a seguir mostra a função SOUNDEX e a função DIFFERENCE relacionada.The following example shows the SOUNDEX function and the related DIFFERENCE function. No primeiro exemplo, os valores padrão de SOUNDEX são retornados para todas as consoantes.In the first example, the standard SOUNDEX values are returned for all consonants. Retornar o SOUNDEX para Smith e Smythe gerará o mesmo resultado SOUNDEX, pois todas as vogais, a letra y, as letras duplicadas e a letra h não são incluídas.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');  

Aqui está o conjunto de resultados.Here is the result set. Válido para uma ordenação Latin1_General.Valid for a Latin1_General collation.

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

A função DIFFERENCE compara a diferença dos resultados de padrão de SOUNDEX.The DIFFERENCE function compares the difference of the SOUNDEX pattern results. O exemplo a seguir mostra duas cadeias de caracteres que diferem somente nas vogais.The following example shows two strings that differ only in vowels. A diferença retornada é 4, a mais baixa diferença possível.The difference returned is 4, the lowest possible difference.

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

Aqui está o conjunto de resultados.Here is the result set. Válido para uma ordenação Latin1_General.Valid for a Latin1_General collation.

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

No exemplo a seguir, as cadeias de caracteres diferem em consoantes; portanto, a diferença retornada é 2, a maior diferença.In the following example, the strings differ in consonants; therefore, the difference returned is 2, the greater difference.

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

Aqui está o conjunto de resultados.Here is the result set. Válido para uma ordenação Latin1_General.Valid for a Latin1_General collation.

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

Consulte TambémSee Also

DIFFERENCE (Transact-SQL) DIFFERENCE (Transact-SQL)
Funções de cadeia de caracteres (Transact-SQL) String Functions (Transact-SQL)
Nível de compatibilidade de ALTER DATABASE (Transact-SQL)ALTER DATABASE Compatibility Level (Transact-SQL)