通过char在特定字段的位置查找记录 - ActiveRecord

时间:2012-11-14 13:41:38

标签: mysql ruby-on-rails ruby activerecord

考虑我们有一个带有伪比特的表banners(咬一下保存为字节,我知道:)我用它来存储4个设置。

| name    | targeting |
+---------+-----------+
| banner1 | 1001      |
| banner2 | 0010      |

我想在表banners中搜索,并在目标属性的第3个位置找到所有带“1”的记录。

工作解决方案

我可以做这样的事情

banners = []
Banner.all do |banner|
  banners << banner if banner.targeting[2] == "1"
end

更好的解决方案?

最好用SUBSTRING编写自己的SQL查询,或者你建议做什么?

1 个答案:

答案 0 :(得分:0)

尝试在mysql中使用正则表达式。很确定语法是正确的,但我还没有验证:

Banner.where(“定位REGEXP'^(2)'='1'”)