안녕하세요.
두 날짜 사이의 주말을 제외한 일수를 구하려고 합니다.
엑셀의 NETWORKDAYS 의 함수처럼요..
SELECT APP_ID
,COUNT(*) CNT
FROM (
SELECT APP_ID
,TO_DATE(LAST_CHG_DATE) + LEVEL - 1 DT
,TO_CHAR(LAST_CHG_DATE + LEVEL - 1, 'D') DNM
FROM TB_SL_APP_BAS
CONNECT BY LEVEL <= SYSDATE - TO_DATE(LAST_CHG_DATE) + 1
) A
WHERE DNM NOT IN ('1', '7')
GROUP BY APP_ID
간단하게 일단 이렇게 짜기는 했는데,
SELECT APP_ID
,TO_DATE(LAST_CHG_DATE) + LEVEL - 1 DT
,TO_CHAR(LAST_CHG_DATE + LEVEL - 1, 'D') DNM
FROM TB_SL_APP_BAS
CONNECT BY LEVEL <= SYSDATE - TO_DATE(LAST_CHG_DATE) + 1
이부분만 돌리면 데이터가 15만건 이상이 나오네요.. ㅠ.ㅠ 속도도 느리구요.
그런데 전체쿼리를 돌리면 오류메시지는 안뜨는데 데이터가 안나오네요.
무한루프에 빠진듯한 느낌이 드는데..
어떻게 해야 빠르면서, 제대로 일수를 뿌릴 수 있을까요?
부탁드리겠습니다.
|