【发布时间】:2019-07-17 06:30:39
【问题描述】:
我想匹配用户输入的给定开始时间和结束时间是否存在于数据库开始时间和结束时间之间,如果它在时间范围之间,那么只应显示那些存在于我使用的时间范围之间的记录between 子句,但它不起作用。
数据库值
开始 |结束
2019-07-27 17:15:00 2019-07-27 19:15:00
2019-07-27 13:15:00 2019-07-27 14:15:00
2019-07-27 06:15:00 2019-07-27 10:15:00
我试过的是:
$start_time='2019-07-14 18:00:00';
$end_time='2019-07-14 19:00:00';
$start_time = date('H:i:s',strtotime($start_time));
$end_time = date('H:i:s',strtotime($end_time));
$results=$this->db->query('SELECT * FROM schedule_diary WHERE (TIME(start) BETWEEN time("'.$start_time.'") AND time("'.$end_time.'") AND TIME(end) BETWEEN time("'.$start_time.'") AND time("'.$end_time.'"))')->result_array();
我得到的结果是:
当我输入 6:00 PM - 7:00 PM 时,我没有得到任何记录,但它应该返回记录,因为只有一行 从 17:15:00 到 19:15:00,当我进入上午 6:00 到晚上 9:00 时,我得到所有三行都运行良好。
【问题讨论】:
标签: mysql codeigniter codeigniter-3