Для получения полного доступа
зарегистрируйтесь.
RSS

Все сниппеты с тэгом «interval»



samdark
  • Репутация: 348
  • Сниппеты: 57
  • Ревизии: 5

Необходимое и достаточное условие пересечения или не пересечения двух интервалов времени или любых других отрезков используется, чаще всего, при составлении и валидации событий в расписаниях.

Обозначения

  • begin1, end1 - начало и конец первого интервала.
  • begin2, end2 - начало и конец второго интервала.

Интервалы пересекаются

begin1 <= end2 AND end1 >= begin2
SELECT *
FROM event
WHERE e.begin <= :end AND e.end >= :begin

Интервалы не пересекаются

begin1 > end2 OR end1 < begin2
SELECT *
FROM event
WHERE e.begin > :end OR e.end < :begin