Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL търсене на поле utf8_bin, чувствително към главни букви

Низът в MySQL има набор от знаци и съпоставяне . Utf8 е наборът от знаци, а utf8_bin е едно от неговите съпоставяния. За да сравните своя низов литерал с колона utf8, преобразувайте го в utf8, като му поставите префикс с нотацията _charset:

_utf8 'Something'

Сега съпоставянето е валидно само за някои набори от знаци. Регистърътчувствителен сортирането за utf8 изглежда utf8_bin, което можете да посочите като:

_utf8 'Something' collate utf8_bin

С тези преобразувания заявката трябва да работи:

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

Префиксът _charset работи с низови литерали. За да промените набора от символи на поле, има CONVERT ... ИЗПОЛЗВАНЕ. Това е полезно, когато искате да преобразувате полето pageTitle в друг набор от знаци, както е в:

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

За да видите знака и съпоставянето за колона с име 'col' в таблица, наречена 'TAB', опитайте:

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

Списък с всички набори от знаци и съпоставяне може да бъде намерен с:

show character set
show collation

И всички валидни съпоставяния за utf8 могат да бъдат намерени с:

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. MySQL Запитване за цена на книгата на клас

  2. Как да вмъкна данни в MySQL с автоматично увеличен първичен ключ?

  3. Създайте тригер, за да изтриете редове, които са на повече от 90 дни

  4. MySQL GROUP &COUNT Няколко таблици

  5. Надстройте MySQL до MariaDB 10 (Част 1 – Инсталирайте MariaDB 5.5)