[英]Comparing datetime and date in a .where() on Rails
我正在使用一個事件系統,管理員可以在其中選擇要顯示的事件並添加促銷文字。 由於他們需要添加其他文本,因此特色事件位於其自己的表中,並引用事件詳細信息。
我現在正嘗試輸出下周每一天的特色活動。 簡化示例:
day = DateTime.now.to_date
featured_events = @featured_events.where('event.start_datetime = ?', day)
問題在於start_datetime
為日期時間格式,而day
為日期格式,因此它始終不輸出任何內容。 是否可以使用.where()
比較這兩個值?
謝謝!
您沒有說您正在使用什么數據庫。
在PostgreSQL中,我們將截斷數據庫查詢中的日期時間 ,以便DBM可以進行比較。 在MySQL上,我們將使用一個函數將datetime轉換為date 。
可能是您在尋找這個:
@featured_events.where('event.start_datetime > ? and event.start_datetime < ?', DateTime.now, 1.day.from_now.beginning_of_day)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.