Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Sql Server 2025 (17.x)
Punkt końcowy analizy SQLusługi Azure SQL Managed Instance
usługi Azure SQL Database
w usłudzeMicrosoft Fabric i magazynie w
bazie danych Microsoft Fabric SQL Database w usłudze Microsoft Fabric
Note
Jako funkcja w wersji zapoznawczej technologia przedstawiona w tym artykule podlega dodatkowym warunkom użytkowania dla wersji zapoznawczych platformy Microsoft Azure.
Oblicza odległość edycji między dwoma ciągami tekstów, czyli minimalną liczbę wstawek, usunięcia, podstawień i transpozycji potrzebnych do przekształcenia jednego ciągu w drugi.
Note
-
EDIT_DISTANCEjest w wersji zapoznawczej. -
EDIT_DISTANCEjest dostępny w SQL Server 2025 (17.x). -
EDIT_DISTANCEjest dostępny w usłudze Azure SQL Managed Instance z zasadami aktualizacji zawszeup-toSQL Server 2025 lub Always-up-to.
Syntax
EDIT_DISTANCE (
character_expression
, character_expression [ , maximum_distance ]
)
Arguments
character_expression
Alfanumeryczne wyrażenie danych znaków. character_expression może być stałą, zmienną lub kolumną. Wyrażenie znaku nie może być typu varchar(max) ani nvarchar(max).
maximum_distance
Opcjonalna wartość określająca maksymalną odległość edycji do obliczenia.
maximum_distance jest liczbą całkowitą. Gdy maximum_distance jest większe lub równe 0, funkcja może zakończyć przetwarzanie, gdy ustali, że odległość edycji przekracza określoną wartość.
Jeśli rzeczywista odległość edycji jest mniejsza lub równa maximum_distance, funkcja zwraca rzeczywistą odległość. W przeciwnym razie funkcja zwraca maximum_distance + 1.
Jeśli maximum_distance nie jest określona lub jest ujemna, funkcja zwraca rzeczywistą odległość edycji. Jeśli maximum_distance jest , NULLfunkcja zwraca NULL.
Wartość zwracana
int
Funkcja ta implementuje algorytm Damerau-Levenshtein (Optimal String Alignment), zwracając odległość między dwoma character_expressions, lub maximum_distance wartość, jeśli jest mniejsza.
Jeśli którykolwiek z danych wejściowych jest NULL , funkcja zwraca NULL wartość.
Remarks
Jeśli rzeczywista odległość jest większa niż maximum_distance, funkcja zwraca maximum_distance + 1.
Przykłady
Odp. Obliczanie odległości edycji między dwoma słowami
Poniższy przykład porównuje dwa wyrazy i zwraca EDIT_DISTANCE() wartość jako kolumnę o nazwie Distance.
SELECT 'Colour' AS WordUK,
'Color' AS WordUS,
EDIT_DISTANCE('Colour', 'Color') AS Distance;
Returns:
WordUK WordUS Distance
------ ------ -----------
Colour Color 1
B. Oblicz odległość edycji między dwoma słowami ograniczoną maksymalną wartością
Poniższy przykład porównuje dwa słowa i zwraca limit EDIT_DISTANCE() do wartości maksymalnej.
SELECT Source,
Target,
EDIT_DISTANCE(Source, Target) AS ActualDistance,
EDIT_DISTANCE(Source, Target, 2) AS LimitedDistance
FROM (VALUES ('Chocolate', 'Sweets')) AS compare(Source, Target);
Oto zestaw wyników.
Source Target ActualDistance LimitedDistance
--------- --------- -------------- ---------------
Chocolate Sweets 8 3
Więcej przykładów można znaleźć w EDIT_DISTANCE przykładzie w przeglądzie dopasowania ciągów rozmytych.