两个日期戳之间的 MySQL 时间选择



我有一个窘境。我有一个包含两列的数据库,这两列都是时间戳,它们表示事件的开始和结束时间。

我还有两个时间表示开始和结束周期,我需要使用它来查询数据库以找出事件与开始和结束周期重叠的行。

例如,如果

给定的时间是 06:00 到 23:00,但反过来也是如此,即 23:00 到 06:00(即一天晚上 11 点到第二天早上 6 点),这应该有效。

纵观事件,

Ev1 开始 '2015-06-05 10:08:

57' 结束 '2015-06-05 16:18:27'

Ev2 开始 '2015-06-05 16:08:

57' 结束 '2015-06-05 23:18:27'

ev3 开始 '2015-06-10 19:30:47' 结束 '2015-06-11 01:43:17'

从和到时间的时间为 12:00 和 17:00 应返回 Ev1 和 Ev2。17:00 到 12:00 的时间应返回 Ev2 和 Ev3。

当有人纯粹寻找在特定时间之后或特定时间之前发生的任何事件时,我已经进行了搜索,这是当给出两个时间然后考虑超过一天的时间时。

我已经启动了一个预构建的架构的SQLFiddle:http://sqlfiddle.com/#!9/13616/1/0

任何帮助将不胜感激!

问候

[Event.start] <= [Timeframe.start] AND [Event.end] >= [Timeframe.start]
OR
[Event.start] BETWEEN [Timeframe.start] AND [Timeframe.end]

相关内容

  • 没有找到相关文章

最新更新