检查输入的日期时间是否在2个日期时间值的范围之间

时间:2013-03-05 15:21:11

标签: php mysql between

我有一个包含2列startdate和enddate的表,用于存储特定场所中有趣程序的开始和结束时间。(两列都具有datetime格式的格式为'Ymd H:i:s')。如果用户创建了a program within this time limitthe end time of the program lies within the time limit but not the start timethe start time lies within the time limit but not the end time,则不应将该程序插入到显示警报的表中。我已经编写了这样的查询。但它无法正常工作。

SELECT * FROM tbl_venue WHERE venue_id='id' AND
((venue_start_datetime BETWEEN 'entered starttime' AND 'entered end time')
AND (venue_stop_datetime BETWEEN 'entered starttime' AND 'entered end time'))    

提前致谢。

2 个答案:

答案 0 :(得分:0)

试试这个:

SELECT * 
FROM tbl_venue 
WHERE venue_id='id' AND
'entered starttime' >= venue_start_datetime
AND 'entered end time' <= venue_stop_datetime
AND 'entered starttime' <= 'entered end time'

答案 1 :(得分:0)

你必须测试输入的startdate是否在start和enddate之间,或者entererd enddate是在start和enddate之间

SELECT * FROM tbl_venue WHERE venue_id='id' AND
('entered starttime' BETWEEN venue_start_datetime AND venue_stop_datetime
OR 'entered endtime' BETWEEN venue_start_datetime AND venue_stop_datetime)
相关问题