代码之家  ›  专栏  ›  技术社区  ›  klew

在Rails中查找区分大小写

  •  2
  • klew  · 技术社区  · 15 年前

    我在使用MySQL进行排序 utf8_general_ci 在我的大部分搜索中,它是好的。但是对于一个模型和一个字段,我想找到一个带有案例的记录 敏感的 . 如何做到这一点?

    2 回复  |  直到 15 年前
        1
  •  3
  •   Juha Syrjälä    15 年前

    MySQL正在执行不区分大小写的查询,而不是RubyonRails。

    http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html

    您可以使数据库列需要区分大小写

    1. 将字段修改为 BINARY VARBINARY 而不是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%'

        2
  •  0
  •   Roland Bouman    15 年前

    如果您总是希望以区分大小写的方式搜索该列,最好是使用排序规则utf8_bin定义它。