EDIT_DISTANCE (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 預覽版增補使用規定

計算將一個字串轉換成另一個字串所需的插入、刪除、替代和轉換數目。

Note

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

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()