搜索日期范围内的日期是否包含在日期范围内
Search if a date in a range of date is include in a range of date
我用的是甲骨文
create table "prba"
(
"prba_id" number(18,0) not null,
"start_date" date not null,
"end_date" date
);
我有一些数据
prba_id | start_date | end_date
900 | 2020-01-20 | 2020-07-01
901 | 2017-01-20 | 2018-08-03
911 | 2020-09-01 |
我的日期范围是 2020-01-20(不包括)到 2021-01-20(包括)
我搜索获取 prba 的 start_date / end_date 中包含此范围日期的行...如果 end_date 为空,我们可以假设 end_date 是 start_date + 1 年
我了解到您需要日期范围与参数范围重叠的行。如果是这样,请考虑:
select t.*
from prba
where coalesce(end_date, add_months(start_date, 12)) > date '2020-01-20'
and start_date <= date '2020-07-20'
我用的是甲骨文
create table "prba"
(
"prba_id" number(18,0) not null,
"start_date" date not null,
"end_date" date
);
我有一些数据
prba_id | start_date | end_date
900 | 2020-01-20 | 2020-07-01
901 | 2017-01-20 | 2018-08-03
911 | 2020-09-01 |
我的日期范围是 2020-01-20(不包括)到 2021-01-20(包括)
我搜索获取 prba 的 start_date / end_date 中包含此范围日期的行...如果 end_date 为空,我们可以假设 end_date 是 start_date + 1 年
我了解到您需要日期范围与参数范围重叠的行。如果是这样,请考虑:
select t.*
from prba
where coalesce(end_date, add_months(start_date, 12)) > date '2020-01-20'
and start_date <= date '2020-07-20'