Добрый день друзья. Никогда не было надобности фильтровать даты прям в БД, делал все в php , а тут пришлось и упреся в проблему. Собственно задача: Есть БД и в ней таблица blanks В данной таблице есть поле date_start . Тепер задача: Нужно сделать запрос SELECT * FROM `blanks` WHERE а вот тут уже фильтр: количество дней между сегодняшней датой и датой date_start (формат YYYY-MM-DD) не должно превышать 15. Тоесть промежуток между двумя датами должен составлять 15 дней. Так же будет выборка свыше 15 дней но тут если я пойму механизм то думаю сам дойду к решению. Заранее спасибо --- Добавлено --- Я понял что мне проще сделать это же на PHP . Сделал все проверки и вставил в запрос только BETWEEN first_date AND last_date . Всем спасибо
И ничего не вышло на php без изменений запроса. задача меняеться: Нужен запрос типа SELECT * FROM `blanks` WHERE date_start минус date_ukl не больше 15 дней Кто поможет?
... WHERE date_start > now() - interval 15 days предполагается что date_start всегда меньше текущей даты иначе используйте http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_datediff
тут необходимо уточнить, что даты должны быть натуральные, т..е. типа DATE, DATETIME или TIMESTAMP, а не как это принято у доблоебов VARCHAR --- Добавлено --- я всегда дёргаюсь когда вопрошающий уточняет типа "формат YYYY-MM-DD". друг, если у тебя настоящие даты, а не строки, то "формат" без вариантов такой, можно и не уточнять. --- Добавлено --- SQL это почти идеальный инструмент для обработки множеств. выразительный и мощный. перекладывать на PHP стоит только форматирование результата перед выводом.