没有ts的日期重叠

时间:2015-08-13 12:11:52

标签: oracle

我发现基于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'那么为什么这种情况不起作用?

1 个答案:

答案 0 :(得分:3)

我只会使用显式逻辑:

select *
from dual
where date '2014-04-29' <= date'2014-05-01' and
      date '2014-04-30' >= date'2014-04-30';

如果第一个在第二个结束之前开始,则第二个周期重叠,第一个在第二个结束之后结束。