Compartir vía


EDIT_DISTANCE (Transact-SQL) (versión preliminar)

Se aplica a: SQL Server 2025 (17.x) Base de datos SQL de Azure SQL Database deAzure SQL Managed Instanceen Microsoft Fabric

Note

Como característica en versión preliminar, la tecnología que se presenta en este artículo está sujeta a los términos de uso complementarios para las versiones preliminares de Microsoft Azure.

Calcula el número de inserciones, eliminaciones, sustituciones y transposiciones necesarias para transformar una cadena a otra.

Note

  • EDIT_DISTANCE está en versión preliminar.
  • EDIT_DISTANCE actualmente no admite las transposiciones.
  • El soporte EDIT_DISTANCE para SQL Server se introdujo en SQL Server 2025 (17.x).
  • EDIT_DISTANCEestá disponible en Instancia administrada de Azure SQL con la directiva de actualización de sql Server 2025 o Always-up-to-date.

Syntax

EDIT_DISTANCE (
    character_expression
    , character_expression [ , maximum_distance ]
)

Arguments

character_expression

Expresión alfanumérica de datos de caracteres. character_expression puede ser una constante, una variable o una columna. La expresión del carácter no puede ser del tipo varchar(máx) o nvarchar(máx).

maximum_distance

Distancia máxima que se debe calcular. maximum_distance es un entero. Si es mayor o igual que cero, la función devuelve el valor de distancia real o un valor de distancia mayor que maxiumum_distance valor. Si la distancia real es mayor que maximum_distance, entonces la función podría devolver un valor mayor o igual a maximum_distance. Si el parámetro no se especifica o si maximum_distance es negativo, entonces la función devuelve el número real de transformaciones necesarias. Si el valor es NULL, la función devuelve NULL.

Valor devuelto

int

Remarks

Esta función implementa el algoritmo Damerau-Levenshtein. Si alguna de las entradas es NULL , la función devuelve un NULL valor. De lo contrario, la función devuelve un valor entero de 0 al número de transformaciones o maximum_distance valor.

Examples

En el ejemplo siguiente se comparan dos palabras y se devuelve el EDIT_DISTANCE() valor como una columna denominada Distance.

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

Returns:

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

Para obtener ejemplos adicionales, vea Ejemplo EDIT_DISTANCE().