gpt4 book ai didi

mysql - 如何查询日期范围 A 或日期范围 B 内的记录

转载 作者:行者123 更新时间:2023-11-28 23:43:58 25 4
gpt4 key购买 nike

我正在尝试获取日期范围内的记录(事件)(例如 event_startevent_end),以便用户可以查询所有事件分别在A天和B天之间。

如果 Rails 5 可用,我可以使用 .or,但如何为 Rails 4 编写此代码?

d = Date.today
Event.all.where(:date_start => d.beginning_of_week..d.end_of_week).or.where(:date_end => d.beginning_of_week..d.end_of_week)

更新

我认为arel完成工作。

最佳答案

类似于:

Event.all.where('date_start >= ? AND date_end < ?', event_start, event_end)

您可能需要在 event_end 中添加一天,如果它与您的范围的最后一天是同一天,以便少于不排除那一天,例如:

event_end + 1.days

另一种方法是使用BETWEEN

Event.all.where('date_start BETWEEN ? AND ? AND date_end BETWEEN ? AND ?', event_start, event_end, event_start, event_end)

关于mysql - 如何查询日期范围 A 或日期范围 B 内的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33918884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com