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ます。たとえば、開始日が say2013-05-01で終了日が2014-02-22

WHERE私が現在フォローしている長いアプローチよりも、短くてきれいな方法があると確信しています。助言がありますか?

4

2 に答える 2

0

もう1つ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')
于 2013-11-09T10:59:01.173 に答える