SOUNDEX (T-SQL)
Berlaku untuk: Titik akhir analitik SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Platform System (PDW)
SQL di Microsoft Fabric
Warehouse di Microsoft Fabric
Mengembalikan kode empat karakter (SOUNDEX) untuk mengevaluasi kesamaan dua string.
Sintaksis
SOUNDEX ( character_expression )
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
character_expression
Adalah ekspresi alfanumerik dari data karakter. character_expression bisa berupa konstanta, variabel, atau kolom.
Jenis Kembalian
varchar
Keterangan
SOUNDEX mengonversi string alfanumerik menjadi kode empat karakter yang didasarkan pada bagaimana string berbunyi saat diucapkan dalam bahasa Inggris. Karakter pertama kode adalah karakter pertama character_expression, dikonversi ke huruf besar. Karakter kedua hingga keempat kode adalah angka yang mewakili huruf dalam ekspresi. Huruf A, E, I, O, U, H, W, dan Y diabaikan kecuali mereka adalah huruf pertama string. Nol ditambahkan di akhir jika perlu untuk menghasilkan kode empat karakter. Untuk informasi selengkapnya tentang kode SOUNDEX, lihat Sistem Pengindeksan Soundex.
Kode SOUNDEX dari string yang berbeda dapat dibandingkan dengan melihat seberapa mirip suara string saat diucapkan. Fungsi DIFFERENCE melakukan SOUNDEX pada dua string, dan mengembalikan bilangan bulat yang mewakili seberapa mirip kode SOUNDEX untuk string tersebut.
SOUNDEX sensitif terhadap kolabasi. Fungsi string dapat ditumpuk.
Kompatibilitas SOUNDEX
Di versi SQL Server sebelumnya, fungsi SOUNDEX menerapkan subset aturan SOUNDEX. Di bawah tingkat kompatibilitas database 110 atau lebih tinggi, SQL Server menerapkan sekumpulan aturan yang lebih lengkap.
Setelah meningkatkan ke tingkat kompatibilitas 110 atau lebih tinggi, Anda mungkin perlu membangun kembali indeks, tumpukan, atau batasan CHECK yang menggunakan fungsi SOUNDEX.
Timbunan yang berisi kolom komputasi persisten yang ditentukan dengan SOUNDEX tidak dapat dikueri sampai tumpukan dibangun kembali dengan menjalankan pernyataan
ALTER TABLE <table> REBUILD
.Batasan CHECK yang ditentukan dengan SOUNDEX dinonaktifkan saat peningkatan. Untuk mengaktifkan batasan, jalankan pernyataan
ALTER TABLE <table> WITH CHECK CHECK CONSTRAINT ALL
.Indeks (termasuk tampilan terindeks) yang berisi kolom komputasi yang dipertahankan yang ditentukan dengan SOUNDEX tidak dapat dikueri hingga indeks dibangun kembali dengan menjalankan pernyataan
ALTER INDEX ALL ON <object> REBUILD
.
Contoh
Contoh berikut menunjukkan fungsi SOUNDEX dan fungsi DIFFERENCE terkait. Dalam contoh pertama, nilai standar SOUNDEX
dikembalikan untuk semua konsonan. Mengembalikan SOUNDEX
untuk Smith
dan Smythe
mengembalikan hasil SOUNDEX yang sama karena semua vokal, huruf y
, huruf ganda, dan huruf h
, tidak disertakan.
-- Using SOUNDEX
SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe');
Berikut adalah hasil yang ditetapkan. Berlaku untuk kolajek Latin1_General.
S530 S530
Fungsi membandingkan DIFFERENCE
perbedaan hasil SOUNDEX
pola. Contoh berikut menunjukkan dua string yang hanya berbeda dalam vokal. Perbedaan yang dikembalikan adalah 4
, perbedaan terendah yang mungkin.
-- Using DIFFERENCE
SELECT DIFFERENCE('Smithers', 'Smythers');
GO
Berikut adalah hasil yang ditetapkan. Berlaku untuk kolajek Latin1_General.
4
Dalam contoh berikut, string berbeda dalam konsonan; oleh karena itu, perbedaan yang dikembalikan adalah 2
, perbedaan yang lebih besar.
SELECT DIFFERENCE('Anothers', 'Brothers');
GO
Berikut adalah hasil yang ditetapkan. Berlaku untuk kolajek Latin1_General.
2
Lihat Juga
PERBEDAAN (Transact-SQL)
Fungsi String (Transact-SQL)
UBAH Tingkat Kompatibilitas DATABASE (Transact-SQL)