我有两列(日期字段,时间字段),它们存储在字符串date
和time
和第一步是这两个领域结合起来,这样我可以比较它们与当前日期(我不知道我是否做对了)。第二步是编写查询,只有在这两列的获取日期接近当前日期时才应该选择记录。并且该日期应该在当前日期和当前日期之前4小时之间,因为在那之后,如果没有满足某些条件,所有这些记录都会发生。MySQL查询检查,如果一个日期接近当前的日期
格式栏的日期和时间:
event_date = 'yyyy/MM/dd'
event_time = 'HH:mm'
因此,这里是我的查询:
SELECT *
FROM `events`
WHERE DATE_SUB(NOW() , INTERVAL 4 HOUR)
< ADDTIME(event_date, event_time)
也许我应该首先这些字符串转换为日期,然后与他们或别的什么工作?总而言之,如果我有一些数据与这些日期,例如:
1. 2017-02-26 10:00
2. 2017-02-26 11:00
3. 2017-02-27 10:00
而且当前日期时间为:2017-02-26 06:00
。在这种情况下,我只能得到1 record
并当一个时间过得或2017-02-26 07:00
的话,我会得到2 records
(认真)考虑将日期和时间存储为一个单一的实体 - 并使用日期时间数据类型 – Strawberry
我会的。例如,如果我有一个与日期时间数据类型的列我需要使用BETWEEN函数来实现我要找的结果? –
一旦你已经整理出你的日期时间列,请参阅http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-tobe -a-very-simple-sql-query – Strawberry