假设要考虑的月份为Oct 2013
,我想提取October 2013
落在开始日期和结束日期之间的所有行。
我目前正在我的WHERE
子句中使用它:
WHERE (start_date >= '2013-10-01' AND end_date < '2013-11-01') OR // between 1st and 31st
(start_date >= '2013-10-01' AND start_date < '2013-11-01') OR // start falls in oct'13
(end_date >= '2013-10-01' AND end_date < '2013-11-01') // end falls in oct'13
在开始和结束日期超出Oct'13
的情况下,这几乎可以完成工作。例如,它会错过开始日期为2013-05-01
且结束日期为2014-02-22
我确信在WHERE
中使用短暂而美观的方式,而不是我目前正在遵循的漫长方法。有什么建议吗?
答案 0 :(得分:2)
WHERE start_date < '2013-11-01' And end_date >= '2013-10-01'
答案 1 :(得分:0)
再添加一个OR
WHERE (start_date >= '2013-10-01' AND end_date <= '2013-10-31') OR
(start_date < '2013-10-01' AND end_date > '2013-10-31')