EDIT_DISTANCE(Transact-SQL) 预览版

适用于:SQL Server 2025 (17.x) 在Microsoft Fabric 预览版中预览 Azure SQL 数据库Azure SQL 托管实例 SQL 数据库

Note

作为预览版功能,本文中介绍的技术受制于 Microsoft Azure 预览版补充使用条款

计算将一个字符串转换为另一个字符串所需的插入、删除、替换和换行数。

Note

  • EDIT_DISTANCE 处于预览状态。
  • EDIT_DISTANCE 当前不支持转置。
  • SQL Server 2025(17.x) 预览版中引入的 EDIT_DISTANCE SQL Server 支持。
  • EDIT_DISTANCE 在具有 SQL Server 2025Always-up-to-date更新策略的 Azure SQL 托管实例中可用。

Syntax

EDIT_DISTANCE (
    character_expression,
    character_expression [ , maximum_distance ]
)  

Arguments

character_expression

字符数据的字母数字表达式。 character_expression 可以是常量、变量或列。 字符表达式的类型不能为 varchar(max)nvarchar(max)。

maximum_distance

应计算的最大距离。 Integer. 如果大于或等于零,则该函数返回实际距离值或大于 maxiumum_distance 值的距离值。 如果实际距离大于 maximum_distance,则该函数可能会返回大于或等于 maximum_distance的值。 如果未指定参数或 maximum_distance 为负数,则该函数将返回所需的实际转换数。 如果值为 NULL,则函数返回 NULL。

返回值

int

Remarks

此函数实现 Damerau-Levenshtein 算法。 如果任一输入是 NULL ,则该函数将返回一个 NULL 值。 否则,该函数将一个整数值从 0 返回到转换数或 maximum_distance 值。

Example

下面的示例比较两个单词,并将该值作为列返回 EDIT_DISTANCE() ,命名 Distance

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

Returns:

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

有关其他示例,请参阅示例EDIT_DISTANCE()。