小编典典

使用SQL查找重叠间隔

sql

我想从间隔与查询中指定的间隔相交的表中提取行。假设我有一个简单的ID, DATE_START,DATE_END表和两个查询参数,P_DATE_START并且P_DATE_END,表达查询的最简单方法是什么,以便找到[DATE_START,DATE_END]具有至少一个公共元素的所有行[P_DATE_START, P_DATE_END]


更新:

为了使预期结果更加清晰,请在下面找到输入值和预期结果的列表。列是 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

阅读 220

收藏
2021-03-08

共1个答案

小编典典

更简单:

SELECT id, date_start, date_end 
FROM thetable 
WHERE date_start <= p_date_end 
AND date_end >= p_date_start
2021-03-08