oracle 之 while循环月份

需求

  需要跑一个数据,时间从17年5月到21年3月。

代码(简单粗暴实现)
DECLARE
  i number;
BEGIN
  i:= 201705;
  WHILE i <202104 LOOP
    if i=201713 then
    i:=201801;
    elsif i=201813 then
    i:=201901;
    elsif i=201913 then
    i:=202001;
    elsif i=202013 then
    i:=202101;
    end if;
  DBMS_OUTPUT.PUT_LINE(i||': 做了一些操作');
  i := i + 1;
  END LOOP;
END;
执行结果

oracle 之 while循环月份_oracle

 

 

PS: 如果时间或其他参数需要从表里面取,可参考oracle 之 for循环表

 

世风之狡诈多端,到底忠厚人颠扑不破; 末俗以繁华相尚,终觉冷淡处趣味弥长。