У меня есть дата начала (l_start_date), дата окончания (l_end_date) и даты (l_date) в базе данных.Как фильтровать даты в mysql?
Например, Пользователь выбирает дату начала 15-01-2016 и дату окончания 30-01-2016. Как я могу получить все строки даты (l_date), которая содержит дату между выбранной пользователем датой начала и датой окончания?
Меня поразили: На изображении ниже (l_date), 2016-01-29, 2016-01-30, 2016-02-01, 2016-02-02. здесь, как я могу получить эту строку тоже, потому что пользовательский диапазон до 2016-01-30, но дата окончания (l_end_date), я сохранил 2016-02-02, поэтому его игнорирование.
Я пробовал:
SELECT l_date,l_start_date,l_end_date
FROM `dates`
WHERE (l_end_date >= '2016-01-15' or l_end_date <= '2016-01-15') AND
(l_start_date >= '2016-01-15' or l_end_date <= '2016-01-15') AND
(l_end_date >= '2016-01-30' or l_end_date <= '2016-01-30') AND
(l_start_date >= '2016-01-30' or l_end_date <= '2016-01-30')
Кажется похож на этот: http://stackoverflow.com/questions/5125076/sql-query-to-select-dates-between-two- даты – SenselessCoder