Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2025 (17.x)
Banco de Dados SQL do AzurePonto de extremidade de análise de
SQL da Instância Gerenciada de SQL
do Azureno Microsoft Fabric e Warehouse noBanco de Dados SQL do Microsoft Fabric
no Microsoft Fabric
Note
Como uma versão prévia do recurso, a tecnologia apresentada neste artigo está sujeita aos Termos de uso complementares para versões prévias do Microsoft Azure.
Calcula a distância de edição entre duas cadeias, que é o número mínimo de inserções, deleções, substituições e transposições necessárias para transformar uma cadeia na outra.
Note
-
EDIT_DISTANCEestá em versão prévia. -
EDIT_DISTANCEestá disponível no SQL Server 2025 (17.x). -
EDIT_DISTANCEestá disponível na Instância Gerenciada de SQL do Azure com a política de atualização do SQL Server 2025 ou Always-up-to-date.
Syntax
EDIT_DISTANCE (
character_expression
, character_expression [ , maximum_distance ]
)
Arguments
character_expression
Uma expressão alfanumérica de dados de caractere. character_expression pode ser uma constante, variável ou coluna. A expressão do caractere não pode ser do tipo varchar(max) ou nvarchar(max).
maximum_distance
Um valor opcional que especifica a distância máxima de edição a ser calculada.
maximum_distance é um inteiro. Quando maximum_distance é maior ou igual a 0, a função pode parar de processar assim que determinar que a distância de edição excede o valor especificado.
Se a distância real de edição for menor ou igual a maximum_distance, a função retorna a distância real. Caso contrário, a função retorna maximum_distance + 1.
Se maximum_distance não for especificado, ou se for negativo, a função retorna a distância real de edição. Se maximum_distance é NULL, a função retorna NULL.
Valor de retorno
int
Essa função implementa o algoritmo Damerau-Levenshtein (Alinhamento Ótimo de Stringas) para retornar a distância entre as duas character_expressions, ou maximum_distance valor se for menor.
Se qualquer uma das entradas for NULL , a função retornará um NULL valor.
Remarks
Se a distância real for maior que maximum_distance, então a função retorna maximum_distance + 1.
Exemplos
A. Calcule a distância de edição entre duas palavras
O exemplo a seguir compara duas palavras e retorna o EDIT_DISTANCE() valor como uma coluna, chamada Distance.
SELECT 'Colour' AS WordUK,
'Color' AS WordUS,
EDIT_DISTANCE('Colour', 'Color') AS Distance;
Returns:
WordUK WordUS Distance
------ ------ -----------
Colour Color 1
B. Calcule a distância de edição entre duas palavras limitadas por um valor máximo
O exemplo a seguir compara duas palavras e retorna o EDIT_DISTANCE() limitado a um valor máximo.
SELECT Source,
Target,
EDIT_DISTANCE(Source, Target) AS ActualDistance,
EDIT_DISTANCE(Source, Target, 2) AS LimitedDistance
FROM (VALUES ('Chocolate', 'Sweets')) AS compare(Source, Target);
Veja a seguir o conjunto de resultados.
Source Target ActualDistance LimitedDistance
--------- --------- -------------- ---------------
Chocolate Sweets 8 3
Para mais exemplos, veja o exemplo EDIT_DISTANCE na visão geral de correspondência de cadeias fuzzy.