förhandsversion av EDIT_DISTANCE (Transact-SQL)

Gäller för: SQL Server 2025 (17.x) Azure SQL DatabaseAzure SQL Managed InstanceSQL Database i Microsoft Fabric

Note

Som en förhandsgranskningsfunktion omfattas tekniken som presenteras i den här artikeln av kompletterande användningsvillkor för Förhandsversioner av Microsoft Azure.

Beräknar antalet infogningar, borttagningar, ersättningar och införlivanden som krävs för att transformera en sträng till en annan.

Note

  • EDIT_DISTANCE är i förhandsversion.
  • EDIT_DISTANCE stöder för närvarande inte införlivanden.
  • SQL Server-stöd introducerades EDIT_DISTANCE i SQL Server 2025 (17.x).
  • EDIT_DISTANCEär tillgängligt i Azure SQL Managed Instance med sql Server 2025- eller always-up-to-date update-principen.

Syntax

EDIT_DISTANCE (
    character_expression
    , character_expression [ , maximum_distance ]
)

Arguments

character_expression

Ett alfanumeriskt uttryck för teckendata. character_expression kan vara en konstant, variabel eller kolumn. Karaktärsuttrycket kan inte vara av typen varchar(max) eller nvarchar(max).

maximum_distance

Det maximala avståndet som ska beräknas. maximum_distance är ett heltal. Om värdet är större än eller lika med noll returnerar funktionen det faktiska avståndsvärdet eller ett avståndsvärde som är större än maxiumum_distance värde. Om det faktiska avståndet är större än maximum_distance kan funktionen returnera ett värde större än eller lika med maximum_distance. Om parametern inte specificeras eller om maximum_distance är negativ, returnerar funktionen det faktiska antalet transformationer som behövs. Om värdet är NULL returnerar funktionen NULL.

Returvärde

int

Remarks

Den här funktionen implementerar Damerau-Levenshtein-algoritmen. Om någon av indata är NULL returnerar funktionen ett NULL värde. Annars returnerar funktionen ett heltalsvärde från 0 till antalet transformeringar eller maximum_distance värde.

Examples

I följande exempel jämförs två ord och värdet returneras EDIT_DISTANCE() som en kolumn med namnet Distance.

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

Returns:

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

Ytterligare exempel finns i Exempel EDIT_DISTANCE().