rails SQL查询是否与日期时间实际兼容?Rails/Rails3 SQL查询,“LIKE”不适用于日期时间?
例如,如果我这样做:
User.where("email LIKE ?", "%.com%")
我期望(做)取回所有用户的列表,以“.COM”的电子邮件地址。
但是,如果我这样做:
User.where("created_at LIKE ?","%2011%")
我回去没事,即使我可以看到,有网友今年创建的。事实上,有时候我会收到乱码(例如,我可能会把一些东西(看起来没有什么共同点)返回给%20%,但是没有什么能够返回到%30%,即使我知道他们中有30个日期),这让我觉得“LIKE”适用于我没有看到/关心的东西(也许某种形式的ID)
仅仅是LIKES字符串?有什么办法可以在日期时间,轨道上做类似的事情(我敢肯定有一些方法可以在MySQL中完成,但轨道也可以处理它吗?)
具体来说,我想在一个范围,类似于:
scope :by_date, lambda {|date| where("created_at LIKE ?",date)}
忘了补充,用于比较日期时间最好是BETWEEN使用运营商。在调用CONVERT时使用%2011%,可能会导致误报,比如当你有11月20日的时候。 – Swartz 2011-02-11 20:23:49