Dela via


förhandsversion av EDIT_DISTANCE (Transact-SQL)

Gäller för: SQL Server 2025 (17.x) Förhandsversion av Azure SQL DatabaseAzure SQL Managed InstanceSQL Database i Förhandsversion av 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 för EDIT_DISTANCE introducerat i SQL Server 2025 (17.x) Förhandsversion.
  • 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. Teckenuttrycket får inte vara av typen varchar(max) eller nvarchar(max).

maximum_distance

Det maximala avståndet som ska beräknas. Integer. 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 som är större än eller lika med maximum_distance. Om parametern inte har angetts eller om maximum_distance är negativ returnerar funktionen det faktiska antalet transformeringar 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.

Example

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