簡體   English   中英

在Rails的.where()中比較日期時間和日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM