我想从表中提取行的间隔与查询中指定的间隔相交的行。假设我有一个简单的ID, DATE_START, DATE_END
表和两个查询参数P_DATE_START
和P_DATE_END
,表达查询的最简单方法是什么,以便我找到[DATE_START, DATE_END]
至少具有一个公共元素[P_DATE_START, P_DATE_END]
的所有行?使用SQL查找重叠间隔
更新:
为了使所期望的结果更清楚,请找输入值和预期结果下面的列表。 Colums是DATE_START, DATE_END, P_DATE_START, P_DATE_END, MATCH
。
16, 17, 15, 18, YES
15, 18, 16, 17, YES
15, 17, 16, 18, YES
16, 18, 15, 17, YES
16, 17, 18, 19, NO
18, 19, 16, 17, NO
http://stackoverflow.com/questions/143552/comparing-date-ranges/143568#143568 – 2011-01-27 13:19:24
@马丁:这似乎正是我要找的,谢谢!如果是的话,我会投票结束我自己的问题。 – 2011-01-27 13:24:02