我的结果设置如
DT_START DT_END
------------- -----------
2013-05-01 2014-04-01
2014-07-01 2015-04-01
2014-11-01 2015-02-01
我有开始日期和结束日期。我需要在两个日期错过2014年的月份。 就像2014年缺少的月份是5和6(这是第一行和#34之间的差异; DT_END和#34;第二行" DT_START")
答案 0 :(得分:1)
一种可能的解决方案:
创建日历表或创建一个返回最低dt_start和最高dt_end之间所有月份的查询。如何执行此操作取决于您使用的实际数据库 - 一些具有可用于创建序列的好函数,一些具有数字表等。
然后将其用作源并与表进行左连接并过滤掉dt_start为null的行。
select month from all_months -- this is the table/query with all months
left join your_table on month between dt_start and dt_end
where dt_start is null