OVERLAPS
OVERLAPS
Предикат OVERLAPS (перекрывает) применяется для того, чтобы определить, не перекрывают ли друг друга два промежутка времени. Он полезен тогда, когда нужно избежать "накладок" в расписании. Когда два промежутка времени перекрываются, то этот предикат возвращает значение True. Если они не перекрываются, то будет возвращено значение False.
Промежуток времени можно указать двумя способами: в виде начального и конечного времени или в виде начального времени и длительности. Вот несколько примеров:
(TIME '2:55:00', INTERVAL 'I' HOUR)
OVERLAPS
(TIME '3:30:00' , INTERVAL '2' HOUR)
В только что приведенном примере будет возвращено значение True, так как 3:30 наступает после 2:55 меньше чем через час.
(TIME '9:00:00', TIME '9:30:00')
OVERLAPS
(TIME '9:29:00', TIME '9:31:00')
Во втором примере будет возвращено значение True, потому что два промежутка времени перекрываются в течение одной минуты.
(TIME '9:00:00', TIME '10:00:00')
OVERLAPS
(TIME '10:15:00', INTERVAL '3' HOUR)
В третьем примере будет возвращено значение False, так как два промежутка времени не перекрываются.
(TIME '9:00:00', TIME '9:30:00')
OVERLAPS
(TIME '9:30:00', TIME '9:35:00')
И наконец, в последнем примере будет возвращено значение False — хотя два промежутка времени и являются смежными, но они не перекрываются.