funzione word_diff()
La funzione " word_diff() individua il numero di modifiche necessarie per trasformare una stringa in un'altra stringa.
L'aggiunta, l'eliminazione, la sostituzione o il cambio di caso di un singolo carattere nella stringa contano come una modifica. La trasposizione di due caratteri adiacenti conta come due modifiche in tutti i casi tranne che nell'algoritmo di Damerau-Levenshtein, che conta la trasposizione come una singola modifica.
L'uso della funzione 'word_diff() con gli algoritmi Soundex o Double Metaphone ottiene lo stesso risultato della combinazione della funzione 'word_key() per convertire le stringhe nelle loro codifiche fonetiche e poi della funzione 'word_keys_diff() per confrontare tali codifiche. La funzione " word_diff() converte le stringhe nelle loro codifiche fonetiche e confronta tali codifiche.
Sintassi
int1 = word_diff(varchar word1, varchar word2 [, int algorithm]);
Il valore " word1 specifica la prima parola del confronto.
Il valore " word2 specifica la seconda parola nel confronto.
algorithm è uno dei seguenti:- 0
- Soundex-Miracode.
- 1
- Soundex semplificato.
- 2
- Soundex-SQLServer.
- 3
- Doppia metafora. Questa è l'impostazione predefinita.
- 10
- Levenshtein.
- 11
- Damerau-Levenshtein.
La funzione integrata di Netezza Performance Server 'le_dst() è equivalente all'utilizzo della funzione 'word_diff() con l'algoritmo Levenshtein. La funzione integrata di Netezza Performance Server 'dle_dst() è equivalente all'utilizzo della funzione 'word_diff() con l'algoritmo di Damerau-Levenshtein.
Risultati
La funzione restituisce un numero intero che indica la somiglianza o la differenza tra le due stringhe. Un valore pari a 0 indica che le stringhe sono uguali. I risultati variano a seconda dell'algoritmo scelto.
Esempio
select word_diff('anderson','andrsn',0);
WORD_DIFF
-----------
0
(1 row)
select word_diff('anderson','andrsn',11);
WORD_DIFF
-----------
2
(1 row)