Partilhar via


EDIT_DISTANCE (Transact-SQL) pré-visualização

Aplica-se a: SQL Server 2025 (17.x) Azure SQL Database AzureSQL Managed InstanceSQL database in 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 o número de inserções, exclusões, substituições e transposições necessárias para transformar uma cadeia de caracteres em outra.

Note

  • EDIT_DISTANCE está em pré-visualização.
  • EDIT_DISTANCE atualmente não suporta transposições.
  • O suporte para SQL Server foi EDIT_DISTANCE introduzido 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

A distância máxima que deve ser calculada. maximum_distance é um inteiro. Se maior ou igual a zero, a função retorna o valor de distância real ou um valor de distância maior que maxiumum_distance valor. Se a distância real for maior que maximum_distance, então a função pode devolver um valor maior ou igual a maximum_distance. Se o parâmetro não for especificado ou se maximum_distance for negativo, então a função devolve o número real de transformações necessárias. Se o valor for NULL, a função retornará NULL.

Valor de retorno

int

Remarks

Esta função implementa o algoritmo Damerau-Levenshtein. Se qualquer uma das entradas for NULL , então a função retorna um NULL valor. Caso contrário, a função retorna um valor inteiro de 0 para o número de transformações ou maximum_distance valor.

Examples

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

Para obter exemplos adicionais, consulte Exemplo EDIT_DISTANCE().