共用方式為


EDIT_DISTANCE (Transact-SQL) 預覽

適用於: SQL Server 2025 (17.x) Azure SQL Database AzureSQL Managed InstanceSQL 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()