【发布时间】:2011-02-11 15:13:55
【问题描述】:
rails SQL 查询实际上与日期时间兼容吗?
例如,如果我这样做:
User.where("email LIKE ?", "%.com%")
我希望(并且确实)得到一个包含“.com”电子邮件地址的所有用户的列表。
但是,如果我这样做:
User.where("created_at LIKE ?","%2011%")
我什么也没得到,尽管我可以看到今年创建了一些用户。事实上,有时我会得到胡言乱语(例如,我可能会得到 %20% 的东西(看似没有共同点),但即使我知道其中有 30 的日期,也没有得到 %30% 的回报),这让我觉得“LIKE”适用于我看不到/不关心的东西(可能是某种 ID?)
LIKES 是否仅适用于字符串?有什么方法可以在 Rails 中为日期时间做类似的事情(我确信在 mysql 中有一些方法可以做到这一点,但 rails 也可以处理它吗?)
具体来说,我想在一个范围内使用它,类似于:
scope :by_date, lambda {|date| where("created_at LIKE ?",date)}
【问题讨论】:
标签: sql ruby-on-rails ruby ruby-on-rails-3 activerecord