본문 바로가기
데이타베이스

주간, 월간 근무가능 일 수 구하기

by hs_seo 2013. 3. 27.
trunc(date, 'd')와 last_day 를 이용해서 처리

-- 캘린더의 정보와 사용자 정보를 이용하여 주간 근무 가능일수 주회
-- 입력한 날짜를 trunc(date, 'd')로 시작일, trunc(date +7, 'd') -1 로 마지막일을 구해서 처리
SELECT COUNT(*)
  INTO p_workday_count
  FROM sfa_calendar    sc
      ,sfa_user_master u
 WHERE sc.company_code = u.company_code
   AND u.sfa_user_id = v_user_id
   AND to_date(sc.cal_date, 'YYYYMMDD') BETWEEN trunc(v_date, 'd') AND
       trunc(v_date + 7, 'd') - 1
   AND sc.free_flag = 0;

-- 월간 근무 가능일 수 조회
-- 입력한 날짜를 trunc(date, 'MM')로 시작일, last_day(date)로 마지막일을 구해서 처리
SELECT COUNT(*)
  INTO p_workday_count
  FROM sfa_calendar    sc
      ,sfa_user_master u
 WHERE sc.company_code = u.company_code
   AND u.sfa_user_id = v_user_id
   AND to_date(sc.cal_date, 'YYYYMMDD') BETWEEN trunc(v_date, 'MM') AND
       last_day(v_date)
   AND sc.free_flag = 0;



반응형