在Active Record中,如何搜索以整数开头的标题?

时间:2011-03-07 01:11:07

标签: ruby-on-rails-3 activerecord

我正在使用Postgres后端,但它理论上可以改为MySQL(甚至是,MS SQL),所以我正在寻找一个有效的通用示例。

说我有一个标有“标题”的栏目,其中包含视频游戏。如果我想查询所有以数字开头的那些,那么我使用:

Games.where("title LIKE '0%' OR title LIKE '1%' OR title LIKE '2%' OR title LIKE '3%' OR title LIKE '4%' OR title LIKE '5%' OR title LIKE '6%' OR title LIKE '7%' OR title LIKE '8%' OR title LIKE '9%'")

这当然有效,它可能适用于任何RDMS,但看起来有点难看。有没有更好的方法使用Rails / AR 3?

谢谢!

1 个答案:

答案 0 :(得分:1)

使用强大的正则表达式。

Games.where("title REGEXP ?","^\\d")

更多信息:here