Oracle在程序块中进行天遍历,周遍历,月遍历

运行环境: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;```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值