2

我正在使用带有排序规则的 Mysql,utf8_general_ci并且对于我的大多数搜索来说它都很好。但是对于一个模型和一个字段,我想找到一个区分大小写的记录。怎么做?

4

2 回答 2

3

执行不区分大小写查询的是 MySQL,而不是 Ruby on Rails。

请参阅http://dev.mysql.com/doc/refman/5.0/en/case-sensitive.html

您可以制作需要区分大小写的数据库列

  1. 将字段修改为BINARYVARBINARY而不是 CHAR 和 VARCHAR。
  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 回答