一个表DT具有不同的时间戳:
日期时间
22/01/2013 22:30
16/10/2012 11:20
30/03/2012 20:50
另一个带有开始日期和结束日期的表时间框架:
SDT EDT
22/01/2013 23:30 22/01/2013 23:40
22/01/2013 20:30 22/01/2013 20:40
22/01/2013 22:10 X 22/01/2013 22:40 <--should filtered out because
one of the timestamps(values from DT table)
is between SDT & EDT
16/10/2012 11:00 16/10/2012 11:10
16/10/2012 11:00 X 16/10/2012 11:40 <--should filtered out because
one of the timestamps(values from DT table)
is between SDT & EDT
因此,所需的结果将是 TIMEFRAMES 表中的所有行,除了 DT 表中的任何时间戳 (date_time) 不落在表 TIMEFRAMES 的时间范围之间的行
SDT EDT
22/01/2013 23:30 22/01/2013 23:40
22/01/2013 20:30 22/01/2013 20:40
16/10/2012 11:00 16/10/2012 11:10
最佳答案
尝试:
select * from timeframes f where not exists
(select 1 from dt where dt.date_time between f.sdt and f.edt)
关于sql - ORACLE SQL 如果另一个时间戳不在此范围内,则显示所有日期/时间范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14482168/