Я хочу извлечь строки из таблицы, интервал которой пересекается с интервалом, указанным в запросе. Предполагая, что у меня есть простая таблица ID, DATE_START, DATE_END
и два параметра запроса P_DATE_START
и P_DATE_END
, что является самым простым способом выражения запроса, чтобы найти все строки, для которых [DATE_START, DATE_END]
имеет хотя бы один общий элемент с [P_DATE_START, P_DATE_END]
?Поиск совпадающих интервалов с использованием SQL
Update:
Для того, чтобы желаемый результат понятнее, пожалуйста, найти список входных значений и ожидаемых результатов ниже. Колонны: 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 –
@Martin: это, кажется, именно то, что я ищу, спасибо! Я буду голосовать, чтобы закрыть свой вопрос, если это так. –