EDIT_DISTANCE(Transact-SQL) 预览版

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

Note

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

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

Note

  • EDIT_DISTANCE 处于预览状态。
  • EDIT_DISTANCE 当前不支持转置。
  • SQL Server 支持 EDIT_DISTANCE SQL Server 2025(17.x)引入。
  • 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

应计算的最大距离。 maximum_distance 是一个整数。 如果大于或等于零,则该函数返回实际距离值或大于 maxiumum_distance 值的距离值。 如果实际距离大于 maximum_distance,则函数可能返回大于或等于 maximum_distance的值。 如果参数未指定或 maximum_distance 为负,函数返回所需的实际变换次数。 如果值为 NULL,则函数返回 NULL。

返回值

int

Remarks

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

例子

下面的示例比较两个单词,并将该值作为列返回 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()。