我的MySQL数据库中列出了事件。
事件具有start_date(date)和end_date(date)字段。
在我的应用程序中,用户可以使用日历单击特定日期。那么,如果他们今天点击,他们会被带到/事件?day=2013-08-08,当天的所有事件都显示在页面上。
在我开始添加多日活动之前,这一直很有效。由于之前我只是向MySQL询问start_date==用户选择日期的所有事件,所以我只得到当天开始的事件,但我也想要可能在当天之前开始但当天仍在进行的事件。
如何查询这样的项目?所有从这一天开始的事件,或更早开始但到这一天尚未结束的事件。
SELECT ...
FROM yourtable
WHERE '2013-08-08' BETWEEN start_end AND end_date
其中
foo BETWEEN bar AND baz
是的SQL等价物
(bar <= foo) AND (foo <= baz)
where start_date>='$inputdate' AND end_date<='$inputdate'
应该这样做
如果尚未为仍在进行的任务设置结束日期:
where '2013-08-08' == start_date or end_date is null