Я прочитал несколько похожих вопросов, тогда как мой, где я мог найти запросы, которые были почти такими же, как я использую. Но я должен был спросить, потому что я хотел бы понять, почему это не работает:
У меня есть следующие данные:
id category_id start_date end_date image campaign_id published
1 1 2011-07-05 2011-07-5 a.gif 3 1
2 1 2011-07-01 2011-07-15 c.gif 3 1
3 37 2011-07-01 2011-07-04 d.gif 3 1
Я ожидаю получить строки 1 и 2 из этого запроса:
SELECT id, category_id, start_date, end_date FROM categories_campaigns WHERE start_date <= NOW() AND end_date >= NOW();
Из того, что я испытал, вернулась только вторая строка. Также этот, дает мне второй,
SELECT category_id, start_date, end_date FROM categories_campaigns WHERE end_date >= NOW();
Следующий возвращает мне все 3,
SELECT category_id, start_date, end_date FROM categories_campaigns WHERE start_date <= NOW();
Тип данных для обоих столбцов - ДАТА. Итак, мой вопрос, как это решить? Почему это происходит ? Или у меня есть очевидная ошибка, которую я не могу найти, что искать.
Большое спасибо за то, что вы искали любую помощь!
-------------- РЕДАКТИРОВАТЬ: РЕШЕНО!
Отлично! Я нашел решение,
SELECT category_id, start_date, end_date FROM categories_campaigns WHERE start_date <= DATE(NOW()) and end_date >= DATE(NOW());
Возвращает мне первые 2 строки, как и ожидалось! Да уж!! ; D