首页 > 解决方案 > Oracle - 查询以检索当前和上一年所有月份的最后一天

问题描述

从 1 月 19 日到 2020 年 10 月,从 1 月 19 日到今年,每个月的最后一天检索的查询是什么?

预期产出

Last Day 
--------
31-JAN-2019
28-FEB-2019
31-MAR-2019
...
31-JAN-2020
29-FEB-2020
31-MAR-2020

标签: sqloracledatetimerecursive-query

解决方案


SQL> select last_day(add_months(date'2019-01-01',level-1)) dt from dual connect by level<=24;

DT
-------------------
2019-01-31 00:00:00
2019-02-28 00:00:00
2019-03-31 00:00:00
2019-04-30 00:00:00
2019-05-31 00:00:00
2019-06-30 00:00:00
2019-07-31 00:00:00
2019-08-31 00:00:00
2019-09-30 00:00:00
2019-10-31 00:00:00
2019-11-30 00:00:00
2019-12-31 00:00:00
2020-01-31 00:00:00
2020-02-29 00:00:00
2020-03-31 00:00:00
2020-04-30 00:00:00
2020-05-31 00:00:00
2020-06-30 00:00:00
2020-07-31 00:00:00
2020-08-31 00:00:00
2020-09-30 00:00:00
2020-10-31 00:00:00
2020-11-30 00:00:00
2020-12-31 00:00:00

推荐阅读