Php 帮助使用日期和时间范围搜索MySql数据库

Php 帮助使用日期和时间范围搜索MySql数据库,php,search,time,Php,Search,Time,我为我的用户提供了一个搜索页面,我希望他们能够做的一件事是使用时间范围搜索数据库中的项目 当前,我的查询如下所示: select **** from **** where created_on >='{$errTimeDayOne}' and created_on <= '{$errTimeDayTwo}' SELECT call_id, priority_name, caller_name, cust_name, cust_rep, caller_dept, DATE_FORM

我为我的用户提供了一个搜索页面,我希望他们能够做的一件事是使用时间范围搜索数据库中的项目

当前,我的查询如下所示:

select ****
from ****
where created_on >='{$errTimeDayOne}' and created_on <= '{$errTimeDayTwo}'
SELECT call_id, priority_name, caller_name,
cust_name, cust_rep, caller_dept, 
DATE_FORMAT(created_on , '%Y-%m-%d') AS created_on, 
DATE_FORMAT(updated_on, '%Y-%m-%d') AS updated_on, 
source_name, created_by, cat_name, subcat_name 
FROM calls INNER JOIN categories ON calls.cat_id = 
categories.cat_id INNER JOIN ticket_priority ON 
calls.ticket_priority = ticket_priority.priority_id 
INNER JOIN ticket_source ON calls.ticket_source = 
ticket_source.source_id LEFT OUTER JOIN subcategories 
ON calls.subcat_id = subcategories.subcat_id WHERE 
created_by = 'brett.little' AND (DATE(created_on) 
between '2013-03-01' and '2013-08-01') AND 
(TIME(created_on) between '1:00:00' and '16:00:00')

当我省略“(时间(已创建)介于“1:00:00”和“16:00:00”之间)时,它将显示结果。这可能与查询开头的日期格式有关吗

您必须增强该子句以分别检查时间和日期:

WHERE (DATE(created_on) BETWEEN '2013-03-24' and '2013-04-01')
   AND (TIME(created_on) BETWEEN '00:00:00' AND '01:00:00')

您在列上创建的数据类型是什么?创建的数据类型是DATETIME