Kategorien:

Zeichenfolgen- und Binärfunktionen (Abgleich/Vergleich)

EDITDISTANCE

Berechnet den Levenshtein-Abstand zwischen zwei Eingabezeichenfolgen. Das ist die Anzahl der Einfügungen, Löschungen oder Ersetzungen einzelner Zeichen, die erforderlich sind, um eine Zeichenfolge in eine andere umzuwandeln.

Bemerkung

Im Gegensatz zu anderen Metriken (z. B. Damerau-Levenshtein-Abstand) werden Zeichenumkehrungen nicht berücksichtigt.

Syntax

EDITDISTANCE( <expr1> , <expr2> )

Nutzungshinweise

  • EDITDISTANCE aufgrund hoher Rechenintensivität teuer sein. Die Ausführungszeit ist proportional zum Produkt der Länge der Eingaben.

    Daher ist die Länge der Eingaben auf jeweils 4.096 Zeichen begrenzt.

Sortierungsdetails

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.

Das Ergebnis basiert ausschließlich auf den Zeichen in den Zeichenfolgen, nicht auf den Sortierungsspezifikationen der Zeichenfolgen.

Beispiele

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]             |
----------------+-----------------+--------------------+--------------------+