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