【发布时间】:2020-10-07 00:14:24
【问题描述】:
我想获取给定开始时间和结束时间之间存在的记录,开始时间和结束时间将由用户给出,我正在使用以下查询:
$this->db->where('TIME(start) BETWEEN "' . date('H:i:s', strtotime($start_time)) . '" and "' . date('H:i:s', strtotime($end_time)) . '"');
$this->db->where('TIME(end) BETWEEN "' . date('H:i:s', strtotime($start_time)) . '" and "' . date('H:i:s', strtotime($end_time)) . '"');
$results = $this->db->get('class')->result();
开始和结束时间列是日期时间字段:
例如。在数据库中 开始时间:2020-06-08 06:15:00 结束时间:2020-06-08 09:15:00
【问题讨论】:
-
不应该是
date('Y-m-d H:i:s', strtotime($start_time))吗? -
不,我只想比较时间,我认为问题不在查询中:我可以写这样的东西吗:date('H:i:s'), strtotime($start_time) between TIME ('start') AND TIME('end') AND date('H:i:s'), strtotime($end_time) between TIME('start') AND TIME('end')
-
因为我只想检查我的开始时间和结束时间是否在数据库开始时间和结束时间之间
-
尝试使用
$this->db->get_compiled_select();来查看你编译的查询
标签: php codeigniter codeigniter-2