Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana Fungsi SQL Server SOUNDEX() Bekerja

Soundex adalah algoritma fonetik untuk mengindeks nama dengan suara, seperti yang diucapkan dalam bahasa Inggris. Ini dikembangkan dan dipatenkan pada tahun 1918 dan 1922.

Salah satu fungsi yang tersedia di SQL Server adalah SOUNDEX() fungsi, yang mengembalikan kode Soundex untuk string tertentu.

Sintaks

Sintaksnya seperti ini:

SOUNDEX ( character_expression )

Dimana character_expression adalah kata atau string yang Anda inginkan untuk kode Soundex. Ini bisa berupa konstanta, variabel, atau kolom.

SOUNDEX() fungsi sensitif terhadap susunan, dan fungsi string dapat disarangkan.

Kode Soundex

Seperti disebutkan, SOUNDEX() fungsi mengembalikan kode Soundex untuk string yang diberikan. Kode Soundex adalah kode empat karakter yang didasarkan pada bunyi senar saat diucapkan. Berikut ini contoh kode Soundex:

S600

Berikut cara membuat kode Soundex:

  • Karakter pertama dari kode adalah karakter pertama dari string, diubah menjadi huruf besar. Jadi pada contoh di atas, kita tahu bahwa string dimulai dengan huruf S (baik huruf kecil atau 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 jika mereka adalah huruf pertama dari string.
  • Nol ditambahkan di akhir jika perlu untuk menghasilkan kode empat karakter.

Contoh

Berikut ini contoh pengambilan string Soundex dari string:

SELECT SOUNDEX('Sure');

Hasil:

S600

Jadi kita bisa melihat bahwa kata Sure memiliki kode Soundex S600 .

Contoh Dua Kata yang Berpasangan

Berikut adalah contoh di mana dua kata memiliki kode Soundex yang sama (karena terdengar sama):

SELECT 
    SOUNDEX('Sure') AS Sure, 
    SOUNDEX('Shore') AS Shore;

Hasil:

Sure  Shore
----  -----
S600  S600

Berikut ini beberapa contoh pencocokan persis:

SELECT 
    SOUNDEX('Dam') AS Dam,
    SOUNDEX('Damn') AS Damn,
    SOUNDEX('Too') AS Too,
    SOUNDEX('Two') AS Two;

Hasil:

Dam   Damn  Too   Two 
----  ----  ----  ----
D500  D500  T000  T000

Contoh Kata yang Tidak Cocok

Berikut adalah contoh di mana dua kata tidak terdengar sama, dan oleh karena itu, mereka memiliki kode Soundex yang berbeda:

SELECT 
    SOUNDEX('Water') AS Water, 
    SOUNDEX('Coffee') AS Coffee;

Hasil:

Water  Coffee
-----  ------
W360   C100

Kata dengan Ejaan Berbeda

Beberapa kata memiliki ejaan yang berbeda tergantung dari negara mana Anda berasal. Kata-kata tersebut akan memiliki kode Soundex yang sama:

SELECT 
  SOUNDEX('Flavor') AS 'Flavor',
  SOUNDEX('Flavour') AS 'Flavour';

Hasil:

Flavor  Flavour
------  -------
F416    F416

Suara Sama, Kode Soundex Berbeda

Terkadang, dua kata terdengar sama, tetapi memiliki kode Soundex yang berbeda. Alasan paling umum untuk ini adalah bahwa mereka mulai dengan huruf yang berbeda (satu menggunakan huruf diam). Seperti yang disebutkan, kode Soundex dimulai dengan huruf pertama dari string (diubah menjadi huruf besar). Oleh karena itu, jika Anda memiliki dua kata yang pengucapannya sama persis, tetapi diawali dengan huruf yang berbeda, keduanya akan memiliki kode Soundex yang berbeda.

Berikut beberapa contohnya:

SELECT
    SOUNDEX('Hole') AS 'Hole',
    SOUNDEX('Whole') AS 'Whole',
    SOUNDEX('Our') AS Our,
    SOUNDEX('Hour') AS Hour;

Hasil:

Hole  Whole  Our   Hour
----  -----  ----  ----
H400  W400   O600  H600

Pasangan dalam contoh ini memiliki kode Soundex yang berbeda hanya karena huruf pertamanya berbeda.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menyimpan kata sandi di database dengan aman?

  2. Tetapkan nama file secara dinamis ke string koneksi excel

  3. Menggunakan Ekspresi CASE di SQL Server

  4. Bagaimana saya bisa memasukkan data ke SQL Server menggunakan VBNet?

  5. Apa kasus penggunaan untuk memilih CHAR daripada VARCHAR di SQL?