我有一张桌子,每一行都有一个start_date
和end_date
。end_date
可以在与开始日期不同的年份。
我需要选择与输入月份范围重叠的所有记录。
例如:
n start_date end_date
1 2010-12-03 2010-03-29 // months are 12,1,2,3
2 2012-03-11 2010-06-24 // months are 3,4,5,6
3 2010-06-17 2010-10-04 // months are 6,7,8,9,10
4 2010-07-03 2010-09-21 // months are 7,8,9
5 2010-04-21 2011-05-13 // months are 1..12
输入范围为 3、4、5、6。输出行应为:1,2,3,5。只有第 4 行在任何月份都没有重叠。
如何在 SQlite/MySQL 中执行此操作?
我正在使用 Ruby on Rails。