| title | EDIT_DISTANCE (Transact-SQL) | |
|---|---|---|
| description | EDIT_DISTANCE calculates the number of insertions, deletions, substitutions, and transpositions needed to transform one string to another. | |
| author | MikeRayMSFT | |
| ms.author | mikeray | |
| ms.reviewer | abhtiwar, wiassaf, randolphwest | |
| ms.date | 11/18/2025 | |
| ms.service | sql | |
| ms.subservice | t-sql | |
| ms.topic | reference | |
| ms.custom |
|
|
| dev_langs |
|
|
| monikerRange | =azuresqldb-current || =azuresqldb-mi-current || =fabric-sqldb || >=sql-server-2016 |
[!INCLUDE sqlserver2025-asdb-asmi-fabricsqldb]
[!INCLUDE preview]
Calculates the number of insertions, deletions, substitutions, and transpositions needed to transform one string to another.
Note
EDIT_DISTANCEis in preview.EDIT_DISTANCEcurrently doesn't support transpositions.- SQL Server support for
EDIT_DISTANCEintroduced in [!INCLUDE sssql25-md]. EDIT_DISTANCEis available in Azure SQL Managed Instance with the SQL Server 2025 or Always-up-to-date update policy.
EDIT_DISTANCE (
character_expression
, character_expression [ , maximum_distance ]
)
An alphanumeric expression of character data. character_expression can be a constant, variable, or column. The character expression can't be of type varchar(max) or nvarchar(max).
The maximum distance that should be computed. maximum_distance is an integer. If greater than or equal to zero, then the function returns the actual distance value or a distance value that is greater than maxiumum_distance value. If the actual distance is greater than maximum_distance, then the function might return a value greater than or equal to maximum_distance. If the parameter isn't specified or if maximum_distance is negative, then the function returns the actual number of transformations needed. If the value is NULL, then the function returns NULL.
int
This function implements the Damerau-Levenshtein algorithm. If any of the inputs is NULL then the function returns a NULL value. Otherwise, the function returns an integer value from 0 to the number of transformations or maximum_distance value.
The following example compares two words and returns the EDIT_DISTANCE() value as a column, named Distance.
SELECT 'Colour' AS WordUK,
'Color' AS WordUS,
EDIT_DISTANCE('Colour', 'Color') AS Distance;Returns:
WordUK WordUS Distance
------ ------ -----------
Colour Color 1
For additional examples, see Example EDIT_DISTANCE().