0

假设要考虑的月份是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我敢肯定,在我目前采用的长方法中,会有一种简短而漂亮的方法来使用。有什么建议么?

4

2 回答 2

2

关于什么WHERE start_date < '2013-11-01' And end_date >= '2013-10-01'

于 2013-11-09T10:49:26.287 回答
0

再添加一个或

WHERE (start_date >= '2013-10-01' AND end_date <= '2013-10-31') OR
    (start_date < '2013-10-01' AND end_date > '2013-10-31')
于 2013-11-09T10:59:01.173 回答