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 | +------------+