我有一个名为 event 的MySQL表来记录整个月的数据,它有一个名为 EventTime 的列来记录每个列写入数据库的时间。
我是否可以查询特定时间范围内的数据,无论其日期如何? 对于Instance,我想在12:00和18:00之间查询数据,然后它可以返回在整个月的时间范围之间发生的所有数据?
我相信我可以在我的C#代码中使用for循环来完成它,但我想知道我可以使用任何SQL命令吗?
答案 0 :(得分:1)
您将列转换为TIME并查询它。 例如:
select time(event_time) from events where time(event_time) BETWEEN '10:00' and '11:00'
这种方法的缺点是DB不会在event_time上使用任何索引(除非您按时创建基于函数的索引(event_time))
答案 1 :(得分:0)
您可以在此处使用时间函数是Date and Time Functions
的完整详细信息-- it will pull all records within current Month i.e December Now and given Time Range.
Select Time(EventTime) from event where MONTH(EventTime) = Month(Current_Date) and time(EventTime) BETWEEN '12:00' and '18:00'