Partager via


aperçu EDIT_DISTANCE (Transact-SQL)

S’applique à : Base de données SQL Server 2025 (17.x) Azure SQL DatabaseAzure SQL Managed InstanceSQL dans Microsoft Fabric

Note

En tant que fonctionnalité en préversion, la technologie présentée dans cet article est soumise aux conditions d’utilisation supplémentaires des préversions de Microsoft Azure.

Calcule le nombre d’insertions, de suppressions, de substitutions et de transposes nécessaires pour transformer une chaîne en une autre.

Note

  • EDIT_DISTANCE est en préversion.
  • EDIT_DISTANCE actuellement ne prend pas en charge les transposes.
  • Le support de SQL Server a EDIT_DISTANCE été introduit dans SQL Server 2025 (17.x).
  • EDIT_DISTANCEest disponible dans Azure SQL Managed Instance avec la stratégie de mise à jourSQL Server 2025 ou Always-up-to-date.

Syntax

EDIT_DISTANCE (
    character_expression
    , character_expression [ , maximum_distance ]
)

Arguments

character_expression

Expression alphanumérique des données de caractères. character_expression peut être une constante, une variable ou une colonne. L’expression du caractère ne peut pas être du type varchar(max) ou nvarchar(max).

maximum_distance

Distance maximale qui doit être calculée. maximum_distance est un entier. Si elle est supérieure ou égale à zéro, la fonction retourne la valeur de distance réelle ou une valeur de distance supérieure à maxiumum_distance valeur. Si la distance réelle est supérieure à maximum_distance, alors la fonction peut retourner une valeur supérieure ou égale à maximum_distance. Si le paramètre n’est pas spécifié ou si maximum_distance est négatif, alors la fonction retourne le nombre réel de transformations nécessaires. Si la valeur est NULL, la fonction retourne NULL.

Valeur retournée

int

Remarks

Cette fonction implémente l’algorithme Damerau-Levenshtein. Si l’une des entrées est NULL alors, la fonction retourne une NULL valeur. Sinon, la fonction retourne une valeur entière comprise entre 0 et le nombre de transformations ou maximum_distance valeur.

Examples

L’exemple suivant compare deux mots et retourne la valeur sous la EDIT_DISTANCE() forme d’une colonne nommée Distance.

SELECT 'Colour' AS WordUK,
       'Color' AS WordUS,
       EDIT_DISTANCE('Colour', 'Color') AS Distance;

Returns:

WordUK WordUS Distance
------ ------ -----------
Colour Color  1

Pour obtenir d’autres exemples, consultez l’exemple EDIT_DISTANCE().