Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Retorna um código de quatro caracteres (SOUNDEX) para avaliar a semelhança de duas cadeias de caracteres.
Transact-SQL convenções de sintaxe
Sintaxe
SOUNDEX ( character_expression )
Argumentos
character_expression
Uma expressão alfanumérica de dados de caracteres. character_expression pode ser uma constante, variável ou coluna.
Tipos de devolução
varchar
Comentários
SOUNDEX converte uma cadeia alfanumérica em um código de quatro caracteres baseado em como a cadeia soa quando falada em inglês. O primeiro caractere do código é o primeiro caractere de character_expression, convertido em maiúsculas. O segundo a quarto caracteres do código são números que representam as letras na expressão. As letras A, E, I, O, U, H, We Y são ignoradas, a menos que sejam a primeira letra da cadeia de caracteres. Se necessário, são adicionados zeros no final para produzir um código de quatro caracteres. Para obter mais informações sobre o código SOUNDEX, consulte The Soundex Indexing System.
SOUNDEX códigos de cordas diferentes podem ser comparados para ver como as cordas soam semelhantes quando faladas. A função DIFFERENCE() executa um SOUNDEX em duas cadeias de caracteres e retorna um inteiro que representa o quão semelhantes são os códigos SOUNDEX para essas cadeias de caracteres.
SOUNDEX é sensível ao agrupamento. As funções de cadeia de caracteres podem ser aninhadas.
Compatibilidade com SOUNDEX
Em versões anteriores do SQL Server, a função SOUNDEX aplicava um subconjunto das regras de SOUNDEX. No nível de compatibilidade de banco de dados 110 ou superior, o SQL Server aplica um conjunto mais completo de regras.
Depois de atualizar para o nível de compatibilidade 110 ou superior, talvez seja necessário reconstruir os índices, heaps ou restrições de CHECK que usam a função SOUNDEX.
Uma pilha que contém uma coluna computada persistente definida com
SOUNDEXnão pode ser consultada até que a pilha seja reconstruída executando a seguinte instrução:ALTER TABLE <table> REBUILD;CHECKrestrições definidas comSOUNDEXsão desativadas após a atualização. Para habilitar a restrição, execute a seguinte instrução:ALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL;Os índices (incluindo exibições indexadas) que contêm uma coluna computada persistente definida com
SOUNDEXnão podem ser consultados até que o índice seja reconstruído executando a seguinte instrução:ALTER INDEX ALL ON <object> REBUILD;
Exemplos
Um. Utilize o SOUNDEX
O exemplo a seguir mostra a função SOUNDEX e a função DIFFERENCE relacionada. No primeiro exemplo, os valores de SOUNDEX padrão são retornados para todas as consoantes. Retornar o SOUNDEX para Smith e Smythe retorna o mesmo resultado SOUNDEX porque todas as vogais, a letra y, letras duplas e a letra h, não estão incluídas.
SELECT SOUNDEX('Smith'),
SOUNDEX('Smythe');
Aqui está o conjunto de resultados. Válido para um agrupamento Latin1_General.
S530 S530
B. Use DIFERENÇA
A função DIFFERENCE compara a diferença dos resultados do padrão SOUNDEX. O exemplo a seguir mostra duas cadeias de caracteres que diferem apenas em vogais. A diferença devolvida é 4, a menor diferença possível.
SELECT DIFFERENCE('Smithers', 'Smythers');
GO
Aqui está o conjunto de resultados. Válido para um agrupamento Latin1_General.
4
No exemplo a seguir, as cadeias diferem em consoantes; Portanto, a diferença devolvida é 2, a maior diferença.
SELECT DIFFERENCE('Anothers', 'Brothers');
GO
Aqui está o conjunto de resultados. Válido para um agrupamento Latin1_General.
2