20181223 Oracle中while

最近尝试了一次while跑数,

declare

   sysdataend  date:=system-1;

   startdata  date:=to_date('20181214','YYYYMMDD');

begin

   while(startdata<sysdataend)

   loop

        -- 需要执行循环的过程

        startdata:=startdata+1;

   loop end;

end;

测试中发现system-1 的当天也会被计算,那么从结构上来看应该是while后面的条件先执行,那么system-1那天是不应该计算的。

但测试结果表示system-1如果在执行过程里面进行打印,是会被打印出来的。那么就表示,while后面的条件,是在loop后再进行判断的。

使用的时候需要注意这一点,不然会出现多数

也许并不是你需要的内容,这只是我人生的一些痕迹. -- soar.pang
原文地址:https://www.cnblogs.com/Soar-Pang/p/10164133.html