获取繁忙时间重叠的可用日期间隔



我正在尝试从预定义的可用日期和繁忙时间获得可用日期间隔。

可能的日期(槽)表

SLOT_END11/10/2021 09:15:0011/10/2021 09:30:0011/10/2021 09:45:0011/10/2021 10:00:00

使用not exists和子查询测试,如果逆值重叠

select * from T_TMP_SLOT s
where not exists (
select null from T_TMP_MEET m
where  not (s.SLOT_END <= m.MEET_BEG or m.MEET_END <= s.SLOT_BEG)
);
ID SLOT_BEG            SLOT_END           
---------- ------------------- -------------------
2 11.10.2021 09:15:00 11.10.2021 09:30:00

注意间隔如果会议插槽开始之前结束(或相等)会议OR,如果会议开始之前结束(或eq)插槽开始。

因此,对该谓词进行否定以得到重叠会议,并与not exists检查这种会议是否存在。

相关内容

  • 没有找到相关文章

最新更新