Php 检查输入的日期时间是否在2个日期时间值之间
我有一个表,其中包含两列startdate和enddate,用于存储特定场地娱乐节目的开始和结束时间。(两列的日期时间格式均为'Y-m-d H:I:s')。当用户在此时间限制内创建程序时,程序的结束时间在时间限制内,但不是开始时间或Php 检查输入的日期时间是否在2个日期时间值之间,php,mysql,between,Php,Mysql,Between,我有一个表,其中包含两列startdate和enddate,用于存储特定场地娱乐节目的开始和结束时间。(两列的日期时间格式均为'Y-m-d H:I:s')。当用户在此时间限制内创建程序时,程序的结束时间在时间限制内,但不是开始时间或开始时间在时间限制内,但不是结束时间,程序不应该插入显示警报的表中。我已经这样编写了查询。但是它不能正常工作 SELECT * FROM tbl_venue WHERE venue_id='id' AND ((venue_start_datetime BETWEEN
开始时间在时间限制内,但不是结束时间
,程序不应该插入显示警报的表中。我已经这样编写了查询。但是它不能正常工作
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'))
提前感谢。试试这个:
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'
选择*
来自tbl_场馆
地点_id='id'和
“已输入开始时间”>=地点\u开始\u日期时间
和“输入的结束时间”您必须测试输入的开始日期是否在开始日期和结束日期之间,或者输入的结束日期是否在开始日期和结束日期之间
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)
>以及在这方面的工作dates@DiMono但在某些情况下,它并不完美。这不取决于列的数据类型吗?如果是varchar,那还不行,是吗?如果将列设置为ast DATETIME,它将工作。在什么情况下不工作?是忽略小时和分钟还是什么?@Keeleon如果开始时间早于数据库中的开始时间,或者如果结束时间大于数据库中的结束日期。如果开始日期和结束日期在限制范围内,则其工作正常