EDIT_DISTANCE_SIMILARITY (Transact-SQL) 預覽

適用於:SQL Server 2025 (17.x) Azure SQL Database AzureSQL Managed InstanceSQL Analytics endpoint in Microsoft Fabric and Warehouse in Microsoft FabricSQL database in Microsoft Fabric

Note

作為預覽功能,本文所述的技術受限於 Microsoft Azure 預覽版增補使用規定

根據兩串 的編輯距離計算相似度分數。 分數範圍從0(無相似)到100(完全吻合)。

Note

  • EDIT_DISTANCE_SIMILARITY 目前處於預覽狀態。
  • SQL Server 支援 EDIT_DISTANCE_SIMILARITY 於 SQL Server 2025(17.x)中引入。
  • EDIT_DISTANCE_SIMILARITY 可在 Azure SQL 受控執行個體中使用 SQL Server 2025一律up-to日期更新原則

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

範例

答: 計算兩個單字之間的編輯距離相似度

下列範例會比較兩個單字,並將值當做名為 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()