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

  • Die Ausführungszeit der Funktion EDITDISTANCE ist proportional zum Produkt der Länge der Eingabezeichenfolgen.

    Für eine bessere Leistung empfiehlt Snowflake die Verwendung von Eingabezeichenketten, die nicht länger als 4.096 Zeichen sind.

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