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


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

Применимо к: Sql Server 2025 (17.x) База данныхSQL Azure Управляемого экземпляраSQL Azure в Microsoft Fabric

Note

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

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

Note

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

Syntax

EDIT_DISTANCE (
    character_expression
    , character_expression [ , maximum_distance ]
)

Arguments

character_expression

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

maximum_distance

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

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

int

Remarks

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

Примеры

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

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

Returns:

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

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