最近做到乙個關於銷售**的模組,而其中需要有月達成率等幾項需要用到工作日做分母的情況
這樣就要得到工作日的數量
怎樣得到兩個日期之間除了星期天,星期六的天數,oracle中可以使用下面的句子
select count(*)
from ( select rownum rnum
from all_objects
where rownum <= to_date('&1') - to_date('&2')+1 )
where to_char( to_date('&2')+rnum-1, 'dy' )
not in ( 'sat', 'sun' )
而我想得到乙個不定月的工作日,這樣首先要得到該月的最後一天和第一天
第一天用
select trunc(sysdate,'mm') from dual
最後一天用
select add_months(trunc(sysdate,'mm'),1)-1 from dual
這樣就不難得到該月的工作日了
該月工作日為
select count(*)
from (select rownum rnum
from all_objects
where rownum <=
add_months(trunc(sysdate, 'mm'), 1) - trunc(sysdate, 'mm'))
where to_char(trunc(sysdate, 'mm') + rnum - 1, 'd') not in ('1', '7')
該月已過工作日為
select count(*)
from (select rownum rnum
from all_objects
where rownum <= sysdate -trunc(sysdate,'mm') + 1)
where to_char(trunc(sysdate,'mm') + rnum - 1, 'd') not in ('1', '7')
剩餘的工作日一減就ok了
感謝"楊鎧銘"兄弟,開始的星期的確錯了,現在已經修改了
9計算當前回退N年的工作日數
import time 輸入指定計算時間 start day input 請輸入回溯的日期 格式為 年 月 日 end day input 請輸入計算結束的日期 格式為 年 月 日 將輸入的時間轉換為時間元組 start tuple time.strptime start day,y m d end...
計算兩個日期之間的工作日數
計算兩個日期之間的工作日數,星期6,星期天,不算工作日 dt1和dt2之間相隔多少工作日,其中dt3 dt4的時間為公休日,這裡公休日可以用以個陣列,或者從乙個xml表裡面讀取,以便扣除 要計算的起始時間 要計算的結束時間 公休起始時間 公休結束時間 intreturn private int di...
關於工作日記
工作日記主要有幾個作用 1 備忘錄,開發和設計時,有很多時候,線頭放得太開,最後逐一解決收攏時,怕忘了,習慣性記到日記裡面,嗯,還有很多時候,思考乙個問題的時候,連帶想起另外乙個問題的解法或靈感,但當時不方便順著這個思路往下想,就先記下來。2 寫總結的素材,以前做管理的時候,很多員工問題,出在不了解...