Мне нужно найти все даты между двумя датами; это дата начала и дата окончания. Вот мой запрос, но он не делает то, что мне нужно.
В моей таблице есть имя столбца date_created
в таком формате, как этот 2011-06-09 06:41:10
. Я хочу удалить эту часть 06:41:10
, поэтому я применяю
DATE(date_created)
После этого, поскольку мой указатель даты находится в этом формате 02/07/2012
, я меняю формат с помощью DATE_FORMAT()
.
$start_date and $end_date
мои переменные для сравнения и в формате 02/07/2012
$select = $DB->select()
->from('sms', array(
'sms_id',
'sms_body',
'sms_sender',
'sms_recipient',
'date_created',
'sms_type'))
->where('phone_service_id = ?', $phone_service_id)
->where("DATE_FORMAT(DATE(date_created), '%m/%d/%Y') >= ?", $start_date)
->where("DATE_FORMAT(DATE(date_created), '%m/%d/%Y') <= ?", $end_date)
->order("".$option_call_log." ".$option_call_log_asc_desc);
Чего мне не хватает в запросе? Почему не сравниваются $ start_date и $ end_date?
Забудьте о $option_call_log
и $option_call_log_asc_desc
.