<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    PS,1880后程序員

    看不完的牙,寫不完的程序,跑不完的步。
    隨筆 - 97, 文章 - 34, 評論 - 10, 引用 - 0
    數據加載中……

    Oracle計算指定日期到月末的雙休日的天數

    業務邏輯:
    count=0;
    計算得到指定日期的下一個周日my_nextsunday
    計算得到月末my_lastdate
    IF 下一個周日<=月末 THEN
      周數=(月末-下一個周日的天數)/7
      余數=(月末-下一個周日的天數)%7
      IF 余數!=0 THEN count=1;
      count+=周數*2
      IF DAYOFWEEK(指定日期)=1 THEN count+=2;
      ELSE count+=1;
    ELSE
      計算 DAYOFWEEK(指定日期)-> DWS
      計算 DAYOFWEEK(月末)-> DWE
      IF DWS<=DME THEN --沒有跨周
        IF DWS=1 THEN count+=1;
        IF DWE=7 THEN count+=1;
      ELSE count=2;
    END IF;

    CREATE OR REPLACE FUNCTION WEEKENDDAY( IN_APP_DATE IN DATE)
    RETURN integer IS
        my_lastdate DATE;
        my_nextsunday DATE;
        my_weeks integer;
        my_n_diff integer;
        my_remain integer;
        my_dws integer;
        my_dwe integer;
        out_count integer :=0;
    BEGIN
       my_lastdate:=LAST_DAY(IN_APP_DATE);
       select NEXT_DAY(IN_APP_DATE,1) INTO my_nextsunday from dual;
       my_n_diff:=TRUNC( (  my_lastdate - my_nextsunday ), 0 )+1;
       if(my_nextsunday<=my_lastdate) THEN
         my_weeks:=FLOOR(my_n_diff/7);
         my_remain:=mod(my_n_diff,7);
         if my_remain>0 THEN 
           out_count:=1; 
         END IF;    
         out_count:=out_count+my_weeks*2;
         IF to_number(to_char(IN_APP_DATE,'D'))=1 THEN 
           out_count:=out_count+2;
         ELSE 
           out_count:=out_count+1;
         END IF;   
       ELSE
         my_dws:=to_number(to_char(IN_APP_DATE,'D'));
         my_dwe:=to_number(to_char(my_lastdate,'D'));
         IF my_dws<=my_dwe THEN
           IF my_dws=1 THEN 
             out_count:=out_count+1;
           END IF;    
           IF my_dwe=7 THEN 
             out_count:=out_count+1;
           END IF;    
         ELSE
           out_count:=2;
         END IF;  
       end if;
       return out_count;
    END WEEKENDDAY;

    posted on 2013-08-28 23:15 amenglai 閱讀(307) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 可以免费观看的国产视频| 亚洲精品乱码久久久久久V | 日韩午夜理论免费TV影院| 成全在线观看免费观看大全| 中国在线观看免费的www| 在线观看片免费人成视频播放| 久久国产一片免费观看| 中国极品美軳免费观看| 黄色网址在线免费| 华人在线精品免费观看| 120秒男女动态视频免费| 午夜性色一区二区三区免费不卡视频| 无码国产精品一区二区免费式直播 | 亚洲人成欧美中文字幕| 亚洲色偷偷综合亚洲av78 | 久久精品国产亚洲AV果冻传媒| 亚洲国产精品VA在线观看麻豆 | 免费观看a级毛片| 国产免费拔擦拔擦8x| www.亚洲精品| 亚洲精品无码乱码成人| 日韩精品一区二区亚洲AV观看| 亚洲图片中文字幕| 亚洲色偷偷色噜噜狠狠99| 日韩精品免费一线在线观看 | 亚洲日本VA午夜在线影院| 亚洲成a人片在线不卡一二三区| 国产AV无码专区亚洲AV琪琪| 国产精品无码永久免费888| av永久免费网站在线观看| 7x7x7x免费在线观看| 免费下载成人电影| 国产免费私拍一区二区三区| 亚洲无码在线播放| 亚洲熟妇色自偷自拍另类| 亚洲AV无码一区二区三区久久精品| 五月婷婷免费视频| 91精品国产免费久久国语麻豆| 成人免费毛片观看| 亚洲最大AV网站在线观看| 亚洲男人天堂影院|