Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL Analytics-eindpunt in Microsoft Fabric en Warehouse in Microsoft Fabric
SQL Database in Microsoft Fabric SQL Database in Microsoft Fabric
Note
Omdat het om een preview-functie gaat, is de technologie die in dit artikel wordt behandeld onderhevig aan de Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.
Berekent de bewerkingsafstand tussen twee strings, wat het minimale aantal inserties, deletions, substituties en transposities is dat nodig is om de ene string in de andere te transformeren.
Note
-
EDIT_DISTANCEis in voorlopige versie. -
EDIT_DISTANCEis beschikbaar in SQL Server 2025 (17.x). -
EDIT_DISTANCEis beschikbaar in Azure SQL Managed Instance met het updatebeleid voor SQL Server 2025 of Always-up-to-date update.
Syntax
EDIT_DISTANCE (
character_expression
, character_expression [ , maximum_distance ]
)
Arguments
character_expression
Een alfanumerieke expressie van tekengegevens. character_expression kan een constante, variabele of kolom zijn. De karakterexpressie kan niet van het type varchar(max) of nvarchar(max) zijn.
maximum_distance
Een optionele waarde die de maximale bewerkingsafstand specificeert die berekend moet worden.
maximum_distance is een geheel getal. Wanneer maximum_distance groter is dan of gelijk aan 0, kan de functie stoppen met verwerken zodra vastgesteld is dat de bewerkingsafstand de opgegeven waarde overschrijdt.
Als de werkelijke bewerkingsafstand kleiner is dan of gelijk aan maximum_distance, geeft de functie de werkelijke afstand terug. Anders geeft de functie maximum_distance + 1 terug.
Als maximum_distance niet is gespecificeerd, of als het negatief is, geeft de functie de werkelijke bewerkingsafstand terug. Als maximum_distance is NULL, geeft de functie .NULL
Retourwaarde
int
Deze functie implementeert het Damerau-Levenshtein (Optimal String Alignment) algoritme om de afstand tussen de twee character_expressions terug te geven, of maximum_distance waarde als die kleiner is.
Als een van de invoerwaarden is NULL , retourneert de functie een NULL waarde.
Remarks
Als de werkelijke afstand groter is dan maximum_distance, geeft de functie maximum_distance + 1 terug.
Voorbeelden
Eén. Bereken de bewerkingsafstand tussen twee woorden
In het volgende voorbeeld worden twee woorden vergeleken en wordt de waarde geretourneerd als een kolom met de EDIT_DISTANCE() naam Distance.
SELECT 'Colour' AS WordUK,
'Color' AS WordUS,
EDIT_DISTANCE('Colour', 'Color') AS Distance;
Returns:
WordUK WordUS Distance
------ ------ -----------
Colour Color 1
B. Bereken de bewerkingsafstand tussen twee woorden die beperkt is door een maximale waarde
Het volgende voorbeeld vergelijkt twee woorden en geeft de EDIT_DISTANCE() beperkte terug tot een maximale waarde.
SELECT Source,
Target,
EDIT_DISTANCE(Source, Target) AS ActualDistance,
EDIT_DISTANCE(Source, Target, 2) AS LimitedDistance
FROM (VALUES ('Chocolate', 'Sweets')) AS compare(Source, Target);
Hier is het resultatenoverzicht.
Source Target ActualDistance LimitedDistance
--------- --------- -------------- ---------------
Chocolate Sweets 8 3
Voor meer voorbeelden, zie het EDIT_DISTANCE voorbeeld in het overzicht van Fuzzy-stringmatching.