查找日期范围与指定日期范围相交的行

时间:2012-12-06 11:09:06

标签: php mysql sql date

我有一个表leave_applications,从日期和日期开始有两列。我需要从表中获取那些在给定月份中保留日期的行,表示从日期到日期之间至少有一个日期落在给定月份的行。

因此,我需要一个查询,它将获得具有两组日期(即from_date和to_date)和该月所有日期的交集的行。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

前一段时间我wrote about these queries。这是解决方案:

-- 2.2) select date ranges that overlap [d1, d2] (d2 and end_date are inclusive)
SELECT * FROM <table> WHERE @d2 >= start_date AND end_date >= @d1

因此,如果你想查看2012年12月的假期,你应该写:

SELECT * FROM leave_applications
WHERE '2012-12-31' >= from_date AND to_date >= '2012-12-01'