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

Pencarian sensitif huruf MYSQL untuk bidang utf8_bin

Sebuah string di MySQL memiliki kumpulan karakter dan susunan . Utf8 adalah kumpulan karakter, dan utf8_bin adalah salah satu susunannya. Untuk membandingkan literal string Anda dengan kolom utf8, konversikan ke utf8 dengan mengawalinya dengan notasi _charset:

_utf8 'Something'

Sekarang susunan hanya berlaku untuk beberapa set karakter. Huruf besar-sensitif susunan untuk utf8 tampaknya utf8_bin, yang dapat Anda tentukan seperti:

_utf8 'Something' collate utf8_bin

Dengan konversi ini, kueri akan berfungsi:

select * from page where pageTitle = _utf8 'Something' collate utf8_bin

Awalan _charset berfungsi dengan literal string. Untuk mengubah set karakter bidang, ada CONVERT ... MENGGUNAKAN. Ini berguna saat Anda ingin mengonversi bidang pageTitle ke kumpulan karakter lain, seperti di:

select * from page 
where convert(pageTitle using latin1) collate latin1_general_cs = 'Something'

Untuk melihat karakter dan susunan kolom bernama 'col' dalam tabel bernama 'TAB', coba:

select distinct collation(col), charset(col) from TAB

Daftar semua set karakter dan susunan dapat ditemukan dengan:

show character set
show collation

Dan semua susunan yang valid untuk utf8 dapat ditemukan dengan:

show collation where charset = 'utf8'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara men-debug Lock wait timeout terlampaui di MySQL?

  2. Mengapa Rails mengabaikan Rollback dalam transaksi bersarang (semu)?

  3. Bagaimana cara mendapatkan hitungan meskipun tidak ada hasil yang sesuai dengan mysql?

  4. Keluaran UTF-8 dengan CakePHP

  5. MySQL bergabung dengan tabel di mana nama tabel adalah bidang dari tabel lain