DECLARE
v_index NUMBER(2);
v_tmp VARCHAR2(10);
v_month VARCHAR2(10);
v_yearmonth VARCHAR2(10);
v_result VARCHAR2(50);
v_year VARCHAR2(10);
v_maxMonth NUMBER(2);
BEGIN
v_year := '';
v_index := 0;
v_result := '';
LOOP
v_index := v_index + 1;
if v_index>26 then
exit;
end if;
if (v_index < 13) then
v_month := v_index;
elsif (v_index > 12 and v_index < 25) then
v_month := to_char(v_index - 12);
elsif (v_index > 24) then
v_month := to_char(v_index - 24);
end if;
if (length(v_month) < 2) then
v_month := '0' || to_char(v_month);
else
v_month := to_char(v_month);
end if;
if (v_index > 12 and v_index < 25) then
v_year := '2013';
elsif (v_index > 24) then
v_year := '2014';
else
v_year := '2012';
end if;
v_yearmonth := v_year || to_char(v_month);
dbms_output.put_line(v_yearmonth);
END LOOP;
END;
结果:
201201
201202
201203
201204
201205
201206
201207
201208
201209
201210
201211
201212
201301
201302
201303
201304
201305
201306
201307
201308
201309
201310
201311
201312
201401
201402