Я знаю, что таких вопросов много, но я не нашел ни одного, достаточно похожего на мои критерии. Поэтому я хотел бы попросить вашей помощи, пожалуйста. Поля, которые у меня есть, это просто начало и конец, которые относятся к типу времени. Я не могу привлекать к этому какие-то конкретные даты. Если временные диапазоны не проходят через полночь в течение дня, я бы просто сравнил два кортежа как таковые:
end1 > start2 AND start1 < end2
(соприкасающиеся конечные точки здесь не считаются перекрывающимися.)
Но когда я использую временной диапазон, который проходит (или в) полночь, это, очевидно, не работает. Например, учитывая:
start | end
--------+--------
06:00PM | 01:00AM
03:00PM | 09:00PM
Без дат, как я могу этого добиться, пожалуйста. Я предполагаю, что если конец меньше начала, то мы занимаем 2 дня.
Я пытаюсь сделать это в простом стандартном SQL, так что просто простая и краткая логика в предложении WHERE.
Всем спасибо!
Добавлен:
Кроме того, как мне проверить, полностью ли один временной диапазон охватывает другой? еще раз спасибо!
oracle
,mysql
,sql-server
,...) - person Peter Lang   schedule 03.05.2010