这里是下表,即machine_shifts
并且假设我有一台机器,该机器在07:01:00的时间开始在2010:01:01上,在时间[[10]的时间在2010:01:03上结束:00:00。
我想查询上表以获取具有开始时间的日期和具有结束时间的日期之间的记录。预期输出:
在标记线之间是预期的输出。
SELECT *
FROM machine_shifts
WHERE (STR_TO_DATE(concat(date_c, ' ', shift_start_time),'%Y-%e-%c %H:%i:%s' )
BETWEEN STR_TO_DATE('2010-01-01 00:00:01', '%Y-%e-%c %H:%i:%s')
AND STR_TO_DATE('2010-01-02 23:59:59', '%Y-%e-%c %H:%i:%s'))
AND (STR_TO_DATE(concat(date_c, ' ', shift_end_time),'%Y-%e-%c %H:%i:%s' )
BETWEEN STR_TO_DATE('2010-01-01 00:00:01', '%Y-%e-%c %H:%i:%s')
AND STR_TO_DATE('2010-01-02 23:59:59', '%Y-%e-%c %H:%i:%s'));