MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana SUARA SEPERTI Bekerja di MariaDB

Di MariaDB, Anda dapat menggunakan SOUNDS LIKE dalam kueri untuk mencocokkan kata-kata yang terdengar mirip.

Sintaks

Sintaksnya seperti ini:

expr1 SOUNDS LIKE expr2

Ini sama dengan melakukan ini:SOUNDEX(expr1) = SOUNDEX(expr2) .

Soundex adalah algoritma fonetik untuk mengindeks nama dengan suara, seperti yang diucapkan dalam bahasa Inggris. 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.

Contoh

Berikut ini contoh dasarnya:

SELECT 'Two' SOUNDS LIKE 'Too';

Hasil:

+-------------------------+
| 'Two' SOUNDS LIKE 'Too' |
+-------------------------+
|                       1 |
+-------------------------+

Dalam hal ini, kedua kata itu terdengar sama.

Kita dapat menggunakan SOUNDEX() berfungsi untuk mengembalikan string Soundex dari setiap kata:

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

Hasil:

+----------------+----------------+
| SOUNDEX('Two') | SOUNDEX('Too') |
+----------------+----------------+
| T000           | T000           |
+----------------+----------------+

Senar Soundex identik. Inilah sebabnya mengapa SOUNDS LIKE mengembalikan 1 .

Tidak Cocok

Berikut ini contoh dua kata yang tidak terdengar sama:

SELECT 'Cat' SOUNDS LIKE 'Dog';

Hasil:

+-------------------------+
| 'Cat' SOUNDS LIKE 'Dog' |
+-------------------------+
|                       0 |
+-------------------------+

Dalam hal ini kami mendapat 0 , karena kata-katanya tidak terdengar sama. Agaknya, senar Soundex mereka berbeda. Mari kita cari tahu:

SELECT 
    SOUNDEX('Cat'),
    SOUNDEX('Dog');

Hasil:

+----------------+----------------+
| SOUNDEX('Cat') | SOUNDEX('Dog') |
+----------------+----------------+
| C300           | D200           |
+----------------+----------------+

Ya. Senar Soundex yang berbeda.

Contoh Basis Data

Berikut ini contoh penggunaan SOUNDS LIKE di WHERE klausa kueri basis data:

SELECT 
    PetName, 
    SOUNDEX(PetName),
    SOUNDEX('Wagg')
FROM Pets
WHERE PetName SOUNDS LIKE 'Wagg';

Hasil:

+---------+------------------+-----------------+
| PetName | SOUNDEX(PetName) | SOUNDEX('Wagg') |
+---------+------------------+-----------------+
| Wag     | W200             | W200            |
+---------+------------------+-----------------+

Ini dia menggunakan SOUNDEX() berfungsi untuk melakukan hal yang sama:

SELECT 
    PetName, 
    SOUNDEX(PetName),
    SOUNDEX('Wagg')
FROM Pets
WHERE SOUNDEX(PetName) = SOUNDEX('Wagg');

Hasil:

+---------+------------------+-----------------+
| PetName | SOUNDEX(PetName) | SOUNDEX('Wagg') |
+---------+------------------+-----------------+
| Wag     | W200             | W200            |
+---------+------------------+-----------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pengantar Administrasi MaxScale Menggunakan maxctrl untuk MariaDB Cluster

  2. Cara Mengembalikan Elemen dari JSON Array di MariaDB

  3. 8 Cara Menambahkan Mikrodetik ke Nilai Datetime di MariaDB

  4. Memantau Galera Cluster untuk MySQL atau MariaDB - Memahami Metrik (Diperbarui)

  5. Perintah Bernama MariaDB