代码之家  ›  专栏  ›  技术社区  ›  bragboy

实现此ActiveRecord查询的有效方法

  •  0
  • bragboy  · 技术社区  · 15 年前

    我使用的是MySQL数据库,其中有一个日期时间字段。在我的Rails应用程序中,我必须启动一个类似于以下内容的查询:

    MyTable.all(:conditions=>{my_date.to_date=>"2010-07-14"})
    

    “我的日期”字段的数据类型为“日期时间”。我应该省略时间,并直接将其与日期进行比较(但由于明显的原因,我在“从日期到日期”附近遇到了一个错误)。如何为此方案编写ActiveRecord查询?

    谢谢。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Salil    15 年前
    MyTable.all(:conditions=>["DATE_FORMAT(my_date, '%Y-%d-%m')=?", "2010-07-14"])
    

    我想应该是经过编辑的

    MyTable.all(:conditions=>["DATE_FORMAT(my_date, '%Y-%m-%d')=?", "2010-07-14"])
    
        2
  •  0
  •   Harish Shetty    15 年前

    如果索引日期列,下面是一个有效的解决方案:

    d = "2010-07-14".to_date
    MyTable.all(:conditions=>["my_date BETWEEN ? AND ?", 
               d.beginning_of_day, d.end_of_day)
    
    推荐文章