Поделиться через


EDIT_DISTANCE (Transact-SQL) предварительная версия

Применимо к: SQL Server 2025 (17.x) — предварительная версия базы данных SQLAzure Для Управляемого экземпляра SQL Azureв Microsoft Fabric

Замечание

В отношении технологии (как предварительной версии функции), описанной в этой статье, действуют дополнительные условия использования предварительных версий Microsoft Azure.

Вычисляет количество вставок, удалений, подстановок и транспозиций, необходимых для преобразования одной строки в другую.

Замечание

  • EDIT_DISTANCE в настоящее время находится в предварительной версии.
  • Поддержка SQL Server для EDIT_DISTANCE предварительной версии SQL Server 2025 (17.x).
  • EDIT_DISTANCE доступен в Управляемом экземпляре SQL Azure, настроенном с помощью политики обновления Always-up-to-date .

Синтаксис

EDIT_DISTANCE (
    character_expression,
    character_expression [ , maximum_distance ]
)  

Аргументы

character_expression

Буквенно-цифровое выражение символьных данных. character_expression может быть константой, переменной или столбцом. Выражение символа не может быть типом varchar(max) или nvarchar(max).

maximum_distance

Максимальное расстояние, которое следует вычислить. Целое число. Если значение больше или равно нулю, функция возвращает фактическое значение расстояния или значение расстояния, превышающее значение maxiumum_distance . Если фактическое расстояние больше maximum_distance, функция может вернуть значение больше или равно maximum_distance. Если параметр не указан или если maximum_distance отрицательный, функция возвращает фактическое количество необходимых преобразований. Если значение равно NULL, функция возвращает значение NULL.

Возвращаемое значение

int

Замечания

Эта функция реализует алгоритм Damerau-Levenshtein. Если любой из входных данных является NULL , функция возвращает NULL значение. В противном случае функция возвращает целочисленное значение от 0 до числа преобразований или maximum_distance значения.

Пример

В следующем примере сравниваются два слова и возвращается EDIT_DISTANCE() значение в виде столбца с именем Distance.

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

Возвращает:

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

Дополнительные примеры см. в примере EDIT_DISTANCE().