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 2025 (17.x)
Base de Dados SQL do Azure
AzureSQL Managed
Instance SQL Analytics endpoint em Microsoft Fabric e Warehouse em Microsoft Fabric Base
de dados SQL no Microsoft Fabric
Note
Como funcionalidade de pré-visualização, a tecnologia apresentada neste artigo está sujeita aos Termos de Utilização Suplementares para Pré-visualizações 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 pré-visualização. -
EDIT_DISTANCEestá disponível no SQL Server 2025 (17.x). -
EDIT_DISTANCEestá disponível na Instância Gerenciada SQL do Azure com a política de atualizaçãoSQL 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 caracteres. character_expression pode ser uma constante, variável ou coluna. A expressão do carácter 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 calcular.
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 devolve a distância real. Caso contrário, a função devolve maximum_distance + 1.
Se maximum_distance não for especificado, ou se for negativo, a função devolve a distância real de edição. Se maximum_distance for NULL, a função devolve NULL.
Valor de retorno
int
Esta função implementa o algoritmo Damerau-Levenshtein (Alinhamento Ótimo de Cordas) para devolver a distância entre as duas character_expressions, ou maximum_distance valor se este for menor.
Se qualquer uma das entradas for NULL , então a função retorna um NULL valor.
Remarks
Se a distância real for maior que maximum_distance, então a função devolve maximum_distance + 1.
Examples
A. Calcular 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. Calcular a distância de edição entre duas palavras limitadas por um valor máximo
O exemplo seguinte compara duas palavras e devolve 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);
Aqui está o conjunto de resultados.
Source Target ActualDistance LimitedDistance
--------- --------- -------------- ---------------
Chocolate Sweets 8 3
Para mais exemplos, veja o exemplo EDIT_DISTANCE na visão geral da correspondência de cadeias fuzzy.