我在数据库中有开始日期(l_start_date),结束日期(l_end_date)和日期(l_date)。
例如,用户选择开始日期为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')