我有一个问题,希望能够获取在两个日期之间(即开始和结束日期)记录的日期。
我有一个表格,其中包含以下记录:
CREATE TABLE t (a int, b date, c date);
insert into t values(1, to_date( '01-jan-2015'), to_date( '15-jan-2015'));
insert into t values(2, to_date( '03-jan-2015'), to_date( '10-jan-2015'));
insert into t values(3, to_date( '12-jan-2015'), to_date( '25-jan-2015'));
insert into t values(4, to_date( '20-jan-2015'), to_date( '01-feb-2015'));
insert into t values(5, to_date( '05-feb-2015'), to_date( '10-feb-2015'));
有没有一种使用SELECT语句来确定在该表中给定的日期范围内存在哪些日期的方法?例如:'01-jan-2015' to_date '15-jan-2015'之间的值已经存在。但是,'03-jan-2015'和'12-jan-2015'的两个值再次被记录了。(尽管这些在('01-jan-2015' to_date '15-jan-2015')之间已经被定义过) 因此,我需要获得输出
"values for start_date "'03-jan-2015' is already logged"
,而不需要在查询中提供日期范围。也就是说,它应该自动提取给定值的记录。
这假设当日期范围重叠时,它将消除日期范围之间的值的重载
希望这样说有意义。请帮助我解决这个问题。谢谢,Shruthi