蓝水域

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一些数据库的循环方法:

Mysql

  1. create PROCEDURE myLoop(begin_date varchar(10), end_date varchar(10))
  2.     declare v_date datetime;
  3.     declare v_begin_date, v_end_date varchar(10);
  4.     set v_date = begin_date;
  5.     while v_date < end_date do
  6.         set v_begin_date = DATE_FORMAT(v_date,'%Y-%m-%d');
  7.         set v_date = DATE_ADD(v_date, INTERVAL 1 DAY);
  8.         set v_end_date = DATE_FORMAT(v_date,'%Y-%m-%d');
  9.         select v_begin_date, v_end_date;
  10.         -- write your sql here!
  11.     end while;
  12. end;
  13. -- call myLoop('2013-08-15','2013-09-02');

 

 

Oracle

  1.        v_date date;
  2.        v_begin_date varchar2(10);
  3.        v_end_date varchar2(10);
  4.        v_date := date'2014-06-02';
  5.        while v_date < date'2014-06-20' loop
  6.              v_begin_date := to_char(v_date, 'yyyy-mm-dd');
  7.              v_date := v_date + 1;
  8.              v_end_date := to_char(v_date, 'yyyy-mm-dd');
  9.              dbms_output.put_line(v_begin_date||' === '||v_end_date);
  10.              -- write your sql here!
  11.          end loop;
  12.          commit;
  13. end;
posted on 2014-11-13 17:43  蓝水域  阅读(350)  评论(0编辑  收藏  举报