EDIT_DISTANCE_SIMILARITY(Transact-SQL) 预览版

适用于:Microsoft FabricSQL Microsoft 数据库中Microsoft Fabric 和 Warehouse 中的 Azure SQL 数据库 Azure SQL 数据库Azure SQL 托管实例 SQL 分析终结点,SQL Server 2025 (17.x)

Note

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

根据两串 的编辑距离计算相似度评分。 分数范围从0(无相似)到100(完全匹配)。

Note

  • EDIT_DISTANCE_SIMILARITY 目前为预览版。
  • SQL Server 支持 EDIT_DISTANCE_SIMILARITY SQL Server 2025(17.x)引入。
  • EDIT_DISTANCE_SIMILARITY 在具有 SQL Server 2025Always-up-to-date更新策略的 Azure SQL 托管实例中可用。

Syntax

EDIT_DISTANCE_SIMILARITY (
    character_expression
    , character_expression
)

Arguments

character_expression

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

返回类型

int

Remarks

该函数实现了 Damerau-Levenshtein(最优字符串对齐)算法。 如果任一输入是 NULL ,则该函数将返回一个 NULL 值。 否则,该函数返回从 0100的整数值。 相似性值计算为 (1 - (edit_distance / greatest(len(string1), len(string2)))) * 100.

例子

A. 计算两个单词之间的编辑距离相似度

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

SELECT 'Colour' AS WordUK,
       'Color' AS WordUS,
       EDIT_DISTANCE_SIMILARITY('Colour', 'Color') AS Similarity;

结果集如下。

WordUK WordUS Similarity
------ ------ -----------
Colour Color  83

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