2

私は照合でMysqlを使用してutf8_general_ciおり、ほとんどの検索でそれは良いことです。ただし、1つのモデルと1つのフィールドについて、大文字と小文字を区別するレコードを見つけたいと思います。どうやってするの?

4

2 に答える 2

3

Ruby on Railsではなく、大文字と小文字を区別しないクエリを実行しているのはMySQLです。

http://dev.mysql.com/doc/refman/5.0/en/case-sensitivevity.htmlを参照してください

大文字と小文字を区別するために大文字と小文字を区別する必要があるデータベース列を作成できます

  1. フィールドをCHARおよびVARCHARではなくBINARYまたはVARBINARYに変更します。
  2. バイナリ照合を行うようにフィールドを変更します(例:latin1_bin)

-

 create table tbl_name (
    ...
    data varchar COLLATE latin1_bin
 )

または、COLLATE演算子を使用するようにクエリを変更できます。

SELECT * from tbl_name WHERE col_name COLLATE latin1_bin LIKE 'a%'

于 2009-12-23T22:01:58.003 に答える
0

常に大文字と小文字を区別してその列を検索する場合は、照合utf8_binを使用して列を定義するのが最善です。

于 2009-12-23T22:01:37.877 に答える