EDIT_DISTANCE(Transact-SQL) 预览版

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

注释

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

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

注释

  • EDIT_DISTANCE目前为预览版。
  • SQL Server 2025 (17.x) 预览版中引入EDIT_DISTANCE的 SQL Server 支持。

语法

EDIT_DISTANCE (
    character_expression,
    character_expression [ , maximum_distance ]
)  

论据

character_expression

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

maximum_distance

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

返回值

int

注解

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

示例:

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

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

返回:

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

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