我有一个名为events
的表。此表在单独的列中包含event_date
和event_time
。我目前正在开展一个页面,它将显示所有即将举行的活动。如何从events
表中查询日期和时间仍在进行的记录?我的意思是,如何使用MySQL计算或编写查询,特别是where
子句?我正在使用PHP和CodeIgniter。
感谢所有回答的人。
编辑:我使用了Gordon Linoff的建议:
where event_date >= now() or
(event_date = date(now()) and event_time > time(now()))
但我将其修改为
where event_date>date(now()) or
(event_date=date(now()) and event_time>time(now()))
因为戈登并没有完全回复我所期待的结果(当天的事件已经过时但尚未到来的事件并未出现在即将发生的事件中)。无论如何,感谢戈登和其他回答的人。我还不是MySQL日期查询的专家,所以你们给了我一个巨大的帮助。
答案 0 :(得分:2)
你会使用:
where event_date >= now() or
(event_date = date(now()) and event_time > time(now()))
答案 1 :(得分:0)
SELECT * FROM events where event_date > DATE(NOW()) AND event_time > TIME(NOW());