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

MySQL pilih string UTF-8 dengan '=' tetapi tidak dengan 'LIKE'

Setelah melihat jawaban Marcus Adams saya menyadari bahwa fungsi REPLACE bisa menjadi solusi untuk masalah ini, meskipun dia tidak menyebutkan fungsi ini.

Karena saya hanya memiliki dua karakter kombinasi yang berbeda (akut dan tilde), dikombinasikan dengan karakter ASCII lainnya, misalnya j dengan tilde, j dengan lancip, m dengan tilde, s dengan tilde, dan seterusnya. Saya hanya perlu mengganti dua karakter ini saat menggunakan LIKE.

Setelah mencari manual, saya belajar tentang fungsi UNHEX yang membantu saya untuk mewakili karakter gabungan dengan benar dalam kueri untuk menghapusnya.

Kombinasi tilde diwakili oleh CC83 dalam kode HEX dan akut diwakili oleh CC81 di HEX.

Jadi, kueri yang menyelesaikan masalah saya adalah yang ini.

SELECT word, REPLACE(REPLACE(word, UNHEX("CC83"), ""), UNHEX("CC81"), "")
FROM oldword WHERE REPLACE(REPLACE(word, UNHEX("CC83"), ""), UNHEX("CC81"), "") 
LIKE 'hua%';`


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan SQL- Perbarui jika ada, masukkan sebaliknya

  2. Menggunakan Oracle JDeveloper dengan Layanan Database MySQL di Oracle Cloud Platform, Bagian 2

  3. NodeJS dan mysql:tunggu hasil kueri

  4. Dapatkan ID kunci utama rekaman baru dari kueri penyisipan MySQL?

  5. Perbedaan antara 'DAN' dan '&&' dalam SQL