如何在ORACLE

时间:2018-01-12 21:18:02

标签: sql oracle plsql

我有一个查询,它会在数据集中添加最近一个月的下个月。

我想要的是一个SQL查询,它将继续增加一整年的月份并重置。所以从数据最近一个月起共计12个月。

以下是代码片段:

SELECT DISTINCT
  PERIOD,
  MNTH_DISP,
add_months(PERIOD,+1) newmnth
FROM FI_CHANNEL_HIER 
where period = (select max(period) from  FI_CHANNEL_HIER)  
; 

我假设的是,我会使用某种while循环或for循环,以便每次运行查询时NEWMNTH列都会在下个月生效。

1 个答案:

答案 0 :(得分:1)

这可能会给你一个想法

SQL> select add_Months(sysdate, level) result
  2  from dual
  3  connect by level <= 12;
12.02.2018 22:23
12.03.2018 22:23
12.04.2018 22:23
12.05.2018 22:23
12.06.2018 22:23
12.07.2018 22:23
12.08.2018 22:23
12.09.2018 22:23
12.10.2018 22:23
12.11.2018 22:23
12.12.2018 22:23
12.01.2019 22:23

12 rows selected.

SQL>