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;반응형
'데이타베이스' 카테고리의 다른 글
| 오라클의 소스코드에 특정 문자열 검색하기 (0) | 2013.04.17 |
|---|---|
| 오라클 over() 함수 (0) | 2013.04.17 |
| 오라클 날짜 정보 가지고 놀기 (0) | 2013.03.27 |
| 오라클의 주의 시작일 변경여부 확인 (0) | 2013.03.26 |
| 데이터를 주간 집계하기 (0) | 2013.03.26 |