使用SQL查找重叠间隔

Rob*_*anu 3 sql

我想从一个表中提取行,该表的间隔与查询中指定的间隔相交.假设我有一个简单的ID, DATE_START, DATE_END桌子,两个查询参数P_DATE_STARTP_DATE_END,什么是表达的查询,使我找到其中的所有行的最简单的方法[DATE_START, DATE_END]至少有一个共同的元素用[P_DATE_START, P_DATE_END]


更新:

为了使预期结果更清晰,请在下面找到输入值和预期结果的列表.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
Run Code Online (Sandbox Code Playgroud)

Ily*_*gan 7

更简单:

SELECT id, date_start, date_end 
FROM thetable 
WHERE date_start <= p_date_end 
AND date_end >= p_date_start
Run Code Online (Sandbox Code Playgroud)