Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: Endpoint di analisi SQL di Sql Server 2025 (17.x)
del database
SQL diAzure
in Microsoft Fabric e warehouse neldatabase SQL di Microsoft Fabric
in Microsoft Fabric
Note
In quanto funzionalità di anteprima, la tecnologia presentata in questo articolo è soggetta alle condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure.
Calcola la distanza di modifica tra due stringhe, che è il numero minimo di inserimenti, cancellazioni, sostituzioni e trasposizioni necessarie per trasformare una stringa nell'altra.
Note
-
EDIT_DISTANCEè in anteprima. -
EDIT_DISTANCEè disponibile in SQL Server 2025 (17.x). -
EDIT_DISTANCEè disponibile in Istanza gestita di SQL di Azure con i criteri di aggiornamento di SQL Server 2025 o Always-up-to-date.
Syntax
EDIT_DISTANCE (
character_expression
, character_expression [ , maximum_distance ]
)
Arguments
character_expression
Espressione alfanumerica dei dati di tipo carattere. character_expression può essere una costante, una variabile o una colonna. L'espressione del carattere non può essere di tipo varchar(max) o nvarchar(max).
maximum_distance
Un valore opzionale che specifica la distanza massima di modifica da calcolare.
maximum_distance è un intero. Quando maximum_distance è maggiore o uguale a 0, la funzione potrebbe interrompere l'elaborazione una volta che determina che la distanza di modifica supera il valore specificato.
Se la distanza di modifica effettiva è inferiore o uguale a maximum_distance, la funzione restituisce la distanza effettiva. Altrimenti, la funzione restituisce maximum_distance + 1.
Se maximum_distance non è specificato, o se è negativo, la funzione restituisce la distanza effettiva di modifica. Se maximum_distance è NULL, la funzione restituisce NULL.
Valore restituito
int
Questa funzione implementa l'algoritmo Damerau-Levenshtein (Allineamento Ottimale delle Stringhe) per restituire la distanza tra i due character_expressions, o maximum_distance valore se è minore.
Se uno degli input è NULL , la funzione restituisce un NULL valore.
Remarks
Se la distanza effettiva è maggiore di maximum_distance, allora la funzione restituisce maximum_distance + 1.
Esempi
A. Calcola la distanza di modifica tra due parole
Nell'esempio seguente vengono confrontate due parole e viene restituito il EDIT_DISTANCE() valore come colonna denominata Distance.
SELECT 'Colour' AS WordUK,
'Color' AS WordUS,
EDIT_DISTANCE('Colour', 'Color') AS Distance;
Returns:
WordUK WordUS Distance
------ ------ -----------
Colour Color 1
B. Calcola la distanza di modifica tra due parole limitate da un valore massimo
Il seguente esempio confronta due parole e restituisce il EDIT_DISTANCE() limitato a un valore massimo.
SELECT Source,
Target,
EDIT_DISTANCE(Source, Target) AS ActualDistance,
EDIT_DISTANCE(Source, Target, 2) AS LimitedDistance
FROM (VALUES ('Chocolate', 'Sweets')) AS compare(Source, Target);
Il set di risultati è il seguente.
Source Target ActualDistance LimitedDistance
--------- --------- -------------- ---------------
Chocolate Sweets 8 3
Per altri esempi, vedi l'esempio EDIT_DISTANCE nella panoramica Fuzzy string matching (corrispondenza fuzzy).