Catégories :

Fonctions de chaîne et fonctions binaires (Correspondance/Comparaison)

EDITDISTANCE

Calcule la distance de Levenshtein entre deux chaînes d’entrée. C’est le nombre d’insertions, de suppressions ou de substitutions d’un seul caractère nécessaires pour convertir une chaîne en une autre.

Note

Contrairement à d’autres mesures (par exemple, Damerau-Levenshtein), les transpositions de caractères ne sont pas prises en compte.

Syntaxe

EDITDISTANCE( <expr1> , <expr2> )

Notes sur l’utilisation

  • Le temps d’exécution de la fonction EDITDISTANCE est proportionnel au produit des longueurs des chaînes d’entrée.

    Pour de meilleures performances, Snowflake recommande d’utiliser des chaînes d’entrée ne dépassant pas 4 096 caractères.

Détails du classement

No impact. In languages where the alphabet contains digraphs or trigraphs (such as « Dz » and « Dzs » in Hungarian), each character in each digraph and trigraph is treated as an independent character, not as part of a single multi-character letter.

Le résultat repose uniquement sur les caractères des chaînes, et non sur les spécifications de classement des chaînes.

Exemples

SELECT s, t, EDITDISTANCE(s, t), EDITDISTANCE(t, s) FROM ed;

----------------+-----------------+--------------------+--------------------+
       s        |        t        | editdistance(s, t) | editdistance(t, s) |
----------------+-----------------+--------------------+--------------------+
                |                 | 0                  | 0                  |
 Gute nacht     | Ich weis nicht  | 8                  | 8                  |
 Ich weiß nicht | Ich wei? nicht  | 1                  | 1                  |
 Ich weiß nicht | Ich weiss nicht | 2                  | 2                  |
 Ich weiß nicht | [NULL]          | [NULL]             | [NULL]             |
 Snowflake      | Oracle          | 7                  | 7                  |
 święta         | swieta          | 2                  | 2                  |
 [NULL]         |                 | [NULL]             | [NULL]             |
 [NULL]         | [NULL]          | [NULL]             | [NULL]             |
----------------+-----------------+--------------------+--------------------+