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

Bagaimana Fungsi SQL Server DIFFERENCE() Bekerja

Artikel ini bertujuan untuk membantu Anda memahami DIFFERENCE() function, yang merupakan fungsi T-SQL yang tersedia di SQL Server, Azure, dll.

Kunci untuk memahami DIFFERENCE() berfungsi untuk memahami cara kerja Soundex (atau dalam konteks SQL Server, cara SOUNDEX() fungsi bekerja). Ini karena DIFFERENCE() fungsi mengembalikan perbedaan antara nilai Soundex antara dua string.

Nilai Soundex terdiri dari empat karakter. Jika dua kata terdengar sama, mereka akan berbagi nilai Soundex empat karakter yang sama. Jika terdengar mirip (tetapi tidak sama), nilai Soundex-nya mungkin memiliki beberapa karakter yang sama, tetapi tidak semuanya. Misalnya, nilai Soundex mereka mungkin memiliki dua karakter yang sama dan dua karakter yang berbeda. Jika dua kata terdengar sangat berbeda, tidak ada karakter dalam nilai Soundex masing-masing yang akan sama.

DIFFERENCE() fungsi mengembalikan nilai yang berkisar dari 0 melalui 4 . Nilai ini mewakili jumlah karakter dalam nilai Soundex yang sama. 0 menunjukkan lemah atau tidak ada kesamaan, dan 4 menunjukkan kesamaan yang kuat atau nilai yang sama.

Sintaks

Pertama, inilah sintaksnya:

DIFFERENCE ( character_expression , character_expression )

Seperti yang ditunjukkan, fungsi ini menerima dua argumen. Kode Soundex dari setiap ekspresi karakter dibandingkan, dan hasilnya dikembalikan.

Contoh – Pencocokan Tepat

Berikut adalah contoh yang terjadi ketika kedua senar terdengar sama (yaitu memiliki nilai Soundex yang sama):

SELECT DIFFERENCE('Two','Too');

Hasil:

4

Hasilnya adalah 4 , yang merupakan nilai tertinggi yang mungkin. Ini berarti ada kemiripan yang kuat antara kedua senar (sejauh nilai Soundex-nya).

Jika Anda bertanya-tanya di mana nomor 4 asal, lihat kode berikut:

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

Hasil:

Two   Too 
----  ----
T000  T000

Dalam contoh ini SOUNDEX() fungsi digunakan untuk mengembalikan kode Soundex untuk setiap kata. Ternyata, kedua kata tersebut memiliki kode Soundex yang sama (T000 ). Dan karena keempat karakter kode Soundex adalah sama, DIFFERENCE() mengembalikan 4 .

Contoh – Kemiripan Rendah

Berikut adalah contoh cara kerjanya ketika string memiliki kesamaan yang lebih rendah:

SELECT DIFFERENCE('Tea','Coffee');

Hasil:

2

Hasilnya adalah 2 , yang di tengah. Suara senarnya tidak persis sama, tetapi memiliki beberapa kesamaan.

Dan seperti contoh sebelumnya, kita dapat melihat dari mana hasil ini berasal dengan menjalankan kode berikut:

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

Hasil:

Tea   Coffee
----  ------
T000  C100

Jadi kita dapat melihat bahwa hanya dua karakter Soundex yang sama di antara kata-kata ini. Oleh karena itu DIFFERENCE() hasilnya adalah 2 .

Contoh – Tidak Ada Kesamaan

Berikut adalah contoh cara kerjanya ketika string memiliki kesamaan yang lemah atau tidak ada:

SELECT DIFFERENCE('Tree','Captivated');

Hasil:

0

Hasilnya adalah 0 , yang berarti string memiliki kemiripan yang sangat lemah atau tidak sama sekali.

Dan berikut adalah kode Soundex untuk dua kata ini:

SELECT 
    SOUNDEX('Tree') AS Tree,
    SOUNDEX('Captivated') AS Captivated;

Hasil:

Tree  Captivated
----  ----------
T600  C131

Jadi dalam hal ini, tidak ada karakter yang sama, oleh karena itu DIFFERENCE() hasil dari 0 .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Representasi DateTime dalam milidetik?

  2. Dapatkan Zona Waktu Saat Ini dari Server di SQL Server (T-SQL)

  3. Penggabungan yang Dikelompokkan di SQL Server

  4. Hapus Padding Saat Mengirim Hasil Kueri dalam Email dari SQL Server (T-SQL)

  5. SQL RANK() versus ROW_NUMBER()