Sdílet prostřednictvím


EDIT_DISTANCE (Transact-SQL) Preview

Platí pro: SQL Server 2025 (17.x) Azure SQL Database Azure SQLManaged InstanceSQL Database v Microsoft Fabric

Note

Jako funkce ve verzi Preview platí, že technologie uvedená v tomto článku podléhá dodatečným podmínkám použití pro verze Microsoft Azure Preview.

Vypočítá počet vložení, odstranění, nahrazení a provedení potřebných k transformaci jednoho řetězce na druhý.

Note

  • EDIT_DISTANCE je ve verzi Preview.
  • EDIT_DISTANCE v současné době nepodporuje provedení.
  • Podpora SQL Serveru zavedená EDIT_DISTANCE v SQL Server 2025 (17.x).
  • EDIT_DISTANCEje k dispozici ve službě Azure SQL Managed Instance se zásadami aktualizaceSQL Serveru 2025 nebo Always-up-to-date.

Syntax

EDIT_DISTANCE (
    character_expression
    , character_expression [ , maximum_distance ]
)

Arguments

character_expression

Alfanumerický výraz dat znaků. character_expression může být konstanta, proměnná nebo sloupec. Výraz znaku nemůže být typu varchar(max) nebo nvarchar(max).

maximum_distance

Maximální vzdálenost, kterou byste měli vypočítat. maximum_distance je celé číslo. Pokud je větší než nebo rovno nule, vrátí funkce skutečnou hodnotu vzdálenosti nebo hodnotu vzdálenosti, která je větší než maxiumum_distance hodnota. Pokud je skutečná vzdálenost větší než maximum_distance, může funkce vrátit hodnotu větší nebo rovnou maximum_distance. Pokud parametr není specifikován nebo pokud je maximum_distance záporný, funkce vrátí skutečný počet potřebných transformací. Pokud je hodnota NULL, vrátí funkce hodnotu NULL.

Návratová hodnota

int

Remarks

Tato funkce implementuje algoritmus Damerau-Levenshtein. Pokud je NULL některý ze vstupů, vrátí NULL funkce hodnotu. V opačném případě vrátí funkce celočíselnou hodnotu od 0 do počtu transformací nebo maximum_distance hodnotu.

Examples

Následující příklad porovnává dvě slova a vrátí EDIT_DISTANCE() hodnotu jako sloupec s názvem Distance.

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

Returns:

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

Další příklady najdete v příkladu EDIT_DISTANCE().