运行环境:oracle 11g
目的:更便捷地跑一些日期相关的存储过程
一、天数遍历
DECLARE
M VARCHAR2(20):='2019-08-17';
BEGIN
LOOP
DBMS_OUTPUT.put_line(M);
M:=TO_CHAR(TO_DATE(M,'YYYY-MM-DD')+1,'YYYY-MM-DD');
EXIT WHEN M='2019-09-02';
END LOOP;
END;
二、周遍历
DECLARE
M VARCHAR2(20):='2018-01-07';
BEGIN
LOOP
DBMS_OUTPUT.put(M);
DBMS_OUTPUT.put_line(' '||TO_CHAR(TO_DATE(M,'YYYY-MM-DD'),'DAY'));
M:=TO_CHAR(TO_DATE(M,'YYYY-MM-DD')+7,'YYYY-MM-DD');
EXIT WHEN M='2019-09-08';
END LOOP;
END;
三、月遍历
DECLARE
M VARCHAR2(20):='2018-01';
BEGIN
LOOP
DBMS_OUTPUT.put_line(M);
M:=TO_CHAR(ADD_MONTHS(TO_DATE(M,'YYYY-MM'),+1),'YYYY-MM');
EXIT WHEN M='2019-07';
END LOOP;
END;```