Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL Analytics-végpont a Microsoft Fabricben és a Microsoft Fabric SQL Database-ben a Microsoft Fabric
SQL Database-ben
Note
Előzetes verziójú funkcióként a cikkben bemutatott technológia a Microsoft Azure előzetes verziójának kiegészítő használati feltételeire vonatkozik.
Kiszámítja a két húr közötti szerkesztési távolságot , ami a minimális számú beillesztés, törlés, helyettesítés és transzpozíció szükséges, hogy az egyik húr a másikba alakuljon.
Note
-
EDIT_DISTANCEelőzetes verzióban érhető el. -
EDIT_DISTANCEelérhető az SQL Server 2025 (17.x) verzióban. -
EDIT_DISTANCEa felügyelt Azure SQL-példányban az SQL Server 2025 vagy az Always-up-todátumfrissítésiszabályzattal érhető el.
Syntax
EDIT_DISTANCE (
character_expression
, character_expression [ , maximum_distance ]
)
Arguments
character_expression
Karakteradatok alfanumerikus kifejezése. character_expression lehet állandó, változó vagy oszlop. A karakterkifejezés nem lehet varchar(max) vagy nvarchar(max) típusú.
maximum_distance
Egy opcionális érték, amely meghatározza a maximális szerkesztési távolságot, amit ki kell számolni.
maximum_distance egy egész szám. Ha maximum_distance nagyobb, mint vagy egyenlő 0, a függvény megállhat a feldolgozás, miután megállapítja, hogy a szerkesztési távolság meghaladja a megadott értéket.
Ha a tényleges szerkesztési távolság kisebb, mint maximum_distance, akkor a függvény visszaadja a tényleges távolságot. Ellenkező esetben a függvény maximum_distance + 1 ad.
Ha maximum_distance nincs megadva, vagy ha negatív, akkor a függvény visszaadja a tényleges szerkesztési távolságot. Ha maximum_distance , NULLakkor a függvény visszaadja NULL.
Visszaadott érték
int
Ez a függvény a Damerau-Levenshtein (Optimális String Alignment) algoritmust valósítja meg, hogy visszaadja a két character_expressions közötti távolságot, vagy ha az kisebb, maximum_distance értéket adja vissza.
Ha a bemenetek bármelyike, NULL akkor a függvény egy NULL értéket ad vissza.
Remarks
Ha a tényleges távolság nagyobb, mint maximum_distance, akkor a függvény maximum_distance + 1 ad.
Példák
A. Számold ki a szerkesztési távolságot két szó között
Az alábbi példa két szót hasonlít össze, és az EDIT_DISTANCE() értéket oszlopként adja vissza.Distance
SELECT 'Colour' AS WordUK,
'Color' AS WordUS,
EDIT_DISTANCE('Colour', 'Color') AS Distance;
Returns:
WordUK WordUS Distance
------ ------ -----------
Colour Color 1
B. Kiszámoljuk a szerkesztési távolságot két szó között, amelyet egy maximális érték korlátoz
A következő példa két szót hasonlít össze, és a EDIT_DISTANCE() limitált maximális értéket adja vissza.
SELECT Source,
Target,
EDIT_DISTANCE(Source, Target) AS ActualDistance,
EDIT_DISTANCE(Source, Target, 2) AS LimitedDistance
FROM (VALUES ('Chocolate', 'Sweets')) AS compare(Source, Target);
Itt van az eredmények összessége.
Source Target ActualDistance LimitedDistance
--------- --------- -------------- ---------------
Chocolate Sweets 8 3
További példákért lásd a EDIT_DISTANCE példát a Fuzzy string matching áttekintésben.