SOUNDEX (SQL bertransaksi)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Mengembalikan kode empat karakter (SOUNDEX) untuk mengevaluasi kesamaan dua string.
Sintaks
SOUNDEX ( character_expression )
Catatan
Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
character_expression
Adalah ekspresi alfanumerik data karakter. character_expression bisa berupa konstanta, variabel, atau kolom.
Jenis Pengembalian
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 dari kode adalah angka yang mewakili huruf dalam ekspresi. Huruf A, E, I, O, U, H, W, dan Y diabaikan kecuali huruf tersebut adalah huruf pertama dari 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.
Tumpukan yang berisi kolom komputasi bertahan 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 bertahan yang ditentukan dengan SOUNDEX tidak dapat dikueri sampai 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 (SQL Bertransaksi)
Fungsi String (SQL Transact)
ALTER DATABASE Compatibility Level (Transact-SQL)
