Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Titik akhir analitik SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL di Microsoft Fabric dan Gudang dalam database Microsoft Fabric
SQL di Microsoft Fabric
Note
Sebagai fitur pratinjau, teknologi yang tersaji dalam artikel ini tunduk pada Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.
Menghitung jarak edit antara dua string, yaitu jumlah minimum insertion, deletion, substitusi, dan transposisi yang diperlukan untuk mengubah satu string menjadi string lainnya.
Note
-
EDIT_DISTANCEsedang dalam pratinjau. -
EDIT_DISTANCEtersedia di SQL Server 2025 (17.x). -
EDIT_DISTANCEtersedia di Azure SQL Managed Instance dengan kebijakan pembaruanSQL Server 2025 atau Always-up-to-date.
Syntax
EDIT_DISTANCE (
character_expression
, character_expression [ , maximum_distance ]
)
Arguments
character_expression
Ekspresi alfanumerik data karakter. character_expression bisa berupa konstanta, variabel, atau kolom. Ekspresi karakter tidak boleh berjenis varchar(max) atau nvarchar(max).
maximum_distance
Nilai opsional yang menentukan jarak edit maksimum yang akan dihitung.
maximum_distance adalah bilangan bulat. Ketika maximum_distance lebih besar atau sama dengan 0, fungsi mungkin berhenti memproses setelah menentukan jarak edit melebihi nilai yang ditentukan.
Jika jarak edit aktual kurang dari atau sama dengan maximum_distance, fungsi mengembalikan jarak sebenarnya. Jika tidak, fungsi akan mengembalikan maximum_distance + 1.
Jika maximum_distance tidak ditentukan, atau negatif, fungsi akan mengembalikan jarak edit yang sebenarnya. Jika maximum_distance adalah NULL, fungsi mengembalikan NULL.
Mengembalikan nilai
int
Fungsi ini mengimplementasikan algoritma Damerau-Levenshtein (Optimal String Alignment) untuk mengembalikan jarak antara dua character_expressions, atau nilai maximum_distance jika lebih kecil.
Jika salah satu input adalah NULL maka fungsi mengembalikan NULL nilai.
Remarks
Jika jarak sebenarnya lebih dari maximum_distance, maka fungsi mengembalikan maximum_distance + 1.
Examples
A. Hitung jarak edit antara dua kata
Contoh berikut membandingkan dua kata dan mengembalikan EDIT_DISTANCE() nilai sebagai kolom, bernama Distance.
SELECT 'Colour' AS WordUK,
'Color' AS WordUS,
EDIT_DISTANCE('Colour', 'Color') AS Distance;
Returns:
WordUK WordUS Distance
------ ------ -----------
Colour Color 1
B. Hitung jarak edit antara dua kata yang dibatasi oleh nilai maksimum
Contoh berikut membandingkan dua kata dan mengembalikan EDIT_DISTANCE() nilai terbatas hingga maksimum.
SELECT Source,
Target,
EDIT_DISTANCE(Source, Target) AS ActualDistance,
EDIT_DISTANCE(Source, Target, 2) AS LimitedDistance
FROM (VALUES ('Chocolate', 'Sweets')) AS compare(Source, Target);
Berikut adalah kumpulan hasilnya.
Source Target ActualDistance LimitedDistance
--------- --------- -------------- ---------------
Chocolate Sweets 8 3
Untuk contoh lebih lanjut, lihat contoh EDIT_DISTANCE di tinjauan pencocokan string Fuzzy.