Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL SOUNDEX() Contoh

Salah satu dari banyak fungsi string MySQL adalah SOUNDEX() fungsi. Fungsi ini mengembalikan string Soundex dari string yang diberikan. Jika dua kata terdengar sama, mereka harus memiliki string Soundex yang sama. Jika dua kata terdengar mirip, tetapi tidak persis sama, string Soundex mereka mungkin terlihat mirip tetapi tidak persis sama.

Artikel ini berisi banyak contoh Soundex untuk menunjukkan bagaimana SOUNDEX() fungsi bekerja di MySQL.

Sintaks

Pertama, mari kita lihat sintaksnya:

SOUNDEX(str)

Dimana str adalah string yang Anda butuhkan untuk string Soundex.

Contoh

Berikut ini contoh pengambilan string Soundex dari string:

SELECT SOUNDEX('Sure');

Hasil:

+-----------------+
| SOUNDEX('Sure') |
+-----------------+
| S600            |
+-----------------+

Jadi dalam hal ini, kata Sure memiliki string Soundex S600 .

Contoh – Pencocokan Tepat

Berikut adalah contoh di mana dua kata terdengar sama (atau sangat mirip), dan oleh karena itu, mereka berbagi string Soundex yang 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 – Tidak Cocok

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

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

Hasil:

+-------+--------+
| Water | Coffee |
+-------+--------+
| W360  | C100   |
+-------+--------+

Seperti yang Anda lihat, string Soundex sangat berbeda untuk kedua kata ini.

Contoh – Ejaan Berbeda

Berikut adalah contoh dua kata yang ejaannya berbeda (tergantung dari negara mana Anda berasal):

SELECT 
  SOUNDEX('Color') AS 'Color',
  SOUNDEX('Colour') AS 'Colour';

Hasil:

+-------+--------+
| Color | Colour |
+-------+--------+
| C460  | C460   |
+-------+--------+

Jadi kita dapat melihat bahwa kata-kata tersebut akan memiliki string Soundex yang sama (asalkan diucapkan dengan cara yang sama).

Contoh – Suara Sama, Soundex Berbeda

Ada kasus di mana kata-kata terdengar sama, tetapi memiliki string Soundex yang berbeda. Alasan paling umum untuk ini adalah bahwa mereka memulai dengan huruf yang berbeda, salah satunya adalah huruf bisu. Anda mungkin memperhatikan dari contoh sebelumnya bahwa string Soundex dimulai dengan huruf pertama dari string tersebut.

Oleh karena itu, jika Anda memiliki dua kata yang diucapkan persis sama, tetapi dimulai dengan huruf yang berbeda, mereka akan memiliki string 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 string Soundex yang berbeda hanya karena huruf pertamanya berbeda.

Contoh – Soundex dalam Query Database

Berikut ini contoh penggunaan SOUNDEX() dalam kueri basis data. Dalam hal ini, kami mencari rekaman yang terdengar seperti “Ay See Dee Ci”:

SELECT ArtistName 
FROM Artists
WHERE SOUNDEX(ArtistName) = SOUNDEX('Ay See Dee Ci');

Hasil:

+------------+
| ArtistName |
+------------+
| AC/DC      |
+------------+

Jadi AC/DC ternyata memiliki kode Soundex yang sama dengan Ay See Dee Ci (setidaknya saat menggunakan MySQL) Untuk memastikannya, berikut kode Soundex untuk kedua string tersebut:

SELECT 
  SOUNDEX('AC/DC') AS 'AC/DC',
  SOUNDEX('Ay See Dee Ci') AS 'Ay See Dee Ci';

Hasil:

+-------+---------------+
| AC/DC | Ay See Dee Ci |
+-------+---------------+
| A232  | A232          |
+-------+---------------+

Alternatif:SUARA SEPERTI

Kueri alternatif dapat dibuat menggunakan SOUNDS LIKE bukannya SOUNDEX() fungsi. Seperti ini:

SELECT ArtistName FROM Artists
WHERE ArtistName SOUNDS LIKE 'Ay See Dee Ci';

Hasil:

+------------+
| ArtistName |
+------------+
| AC/DC      |
+------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Peringatan:mysqli_query() mengharapkan parameter 1 menjadi mysqli, sumber daya diberikan

  2. MySQL CAST vs CONVERT

  3. Penulisan Docker memeriksa apakah koneksi mysql sudah siap

  4. Pertanyaan sensitivitas kasus varchar unik SQL

  5. MySQL – Kesalahan Koneksi – [MySQL][ODBC 5.3(w) Driver]Host 'IP' Tidak Diizinkan Terhubung ke Server MySQL ini