EDIT_DISTANCE

计算并返回两个字符串之间的 Levenshtein 距离。返回值表示将一个字符串更改为另一个字符串所需的最小单字符编辑次数(插入、删除或替换)。

行为类型

不可变

语法

EDIT_DISTANCE ( string-expression1, string-expression2 )

参数

string-expression1, string-expression2
要比较的两个 VARCHAR 表达式,请执行以下操作。

示例

kittenknitting 之间的 Levenshtein 距离为 3:

=> SELECT EDIT_DISTANCE ('kitten', 'knitting');
 EDIT_DISTANCE
---------------
             3
(1 row)

EDIT_DISTANCE 计算出将 kitten 转换为 knitting 需要不少于三项更改:

  1. kitten knitten (在 k 之后插入 n

  2. knitten knittin (用 i 替换 e

  3. knittin knitting (附加 g