我发现基于wm_overlaps的查询条件有问题。 我有两个时期:
(29/04/2014; 30/04/2014)
(30/04/2014; 01/05/2014)
和查询:
select * from dual
where (date'2014-04-29',date'2014-04-30') overlaps (date'2014-04-30',date'2014-05-01');
我该怎么做才能做到这一点。 据我所知即使在时间戳日期' 2014-04-30' = date' 2014-04-30'那么为什么这种情况不起作用?
答案 0 :(得分:3)
我只会使用显式逻辑:
select *
from dual
where date '2014-04-29' <= date'2014-05-01' and
date '2014-04-30' >= date'2014-04-30';
如果第一个在第二个结束之前开始,则第二个周期重叠,第一个在第二个结束之后结束。