2010-07-14 20 views
0

我正在使用MySQL數據庫,並在其中有一個日期時間字段。在我的Rails應用程序中,我必須激發類似於以下的查詢,實現此ActiveRecord查詢的有效方法

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

my_date字段的數據類型爲datetime。我應該省略時間,並應直接將其與日期進行比較(但由於顯而易見的原因,我在my_date.to_date附近遇到錯誤)。如何爲此場景編寫ActiveRecord查詢?

謝謝。

回答

2
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"]) 
+0

感謝快速回答!是的,它的第二個..謝謝! – bragboy 2010-07-14 12:31:54

0

下面是一個有效的解決方案,如果你指數的日期欄:

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