我使用的是MySQL数据库,里面有一个日期时间字段。在我的rails应用程序中,我必须触发类似于以下的查询,
MyTable.all(:conditions=>{my_date.to_date=>"2010-07-14"})
my_date字段的数据类型为datetime。我应该省略时间,并应直接将其与日期进行比较(但由于显而易见的原因,我在my_date.to_date附近遇到错误)。如何为这种情况编写ActiveRecord查询?
感谢。
答案 0 :(得分:2)
MyTable.all(:conditions=>["DATE_FORMAT(my_date, '%Y-%d-%m')=?", "2010-07-14"])
EDITED我认为它应该是
MyTable.all(:conditions=>["DATE_FORMAT(my_date, '%Y-%m-%d')=?", "2010-07-14"])
答案 1 :(得分:0)
如果您索引日期列,这是一个有效的解决方案:
d = "2010-07-14".to_date
MyTable.all(:conditions=>["my_date BETWEEN ? AND ?",
d.beginning_of_day, d.end_of_day)