달력 날자 계산 0 10 2,118

by 정우성 [2018.11.06 15:19:03]



달력테이블로 10일데이터 월요일이면 다음날을 구하고 싶습니다 ㅜㅜ

by 마농 [2018.11.06 15:39:49]

입력조건은 현재월 인가요? 현재일인가요?
입력대비 어떤 결과가 나와야 하나요?
입출력 예시를 다양하게 들어주면 좋은데요.
출력 일자는 1일, 10일 2개인가요?
10일이 월요일인 경우 다음날(11일)을 가져온다?
  - 1일은 해당사항 없는건지?
  - 다른 조건은 없는지? 주말이나? 국경일은 제외한다던가?


by 우리집아찌 [2018.11.06 15:41:49]

10일이 주말이나 국경일 이면요..


by 정우성 [2018.11.06 16:08:00]

오늘을 기준으로 10일, 월요일이면 다음날에 배치 돌릴려고요...

오늘날짜를 기준으로체크 해야돼서 위의 예시 쿼리 올렸습니다

 

C_dt와  비교할수 있는 10일 월요일 컬럼 하나 더 만들들구요. 

 

예를들어 14일에 쿼리 실행하면 다음달 10일 구하고 월요일인지 체크해서  14일과 비교하면 쿼리로 가져오는 데이터는 null 이 되겠죠


by 마농 [2018.11.06 16:40:02]
SELECT today
     , batch_day
     , DECODE(today, batch_day, 'Run', 'Exit') x
  FROM (SELECT TRUNC(sysdate) today
             , TRUNC(sysdate, 'mm') + DECODE(TO_CHAR(TRUNC(sysdate, 'mm') + 9, 'd'), '2', 10, 9) batch_day
          FROM dual
        )
;

 


by 정우성 [2018.11.06 18:56:22]

날짜는 달력테이블에서 가져와야되고 월요일여부도 체크 해애 되거든요 ㅜㅜ. 

 

달력테이블에 날짜별 유형이 저장되어 있습니다


by 마농 [2018.11.06 21:26:27]

월요일여부 체크 했구요. 달력 안읽어도 될것 같은데요


by 정우성 [2018.11.06 23:24:57]

위의 쿼리는.. 10일 월요일경우만 체크하는거 아닌가요?? 

 

제가 원하는거는.. 10일 , 월요일이면..   그 다음날 (sysdate)로 쿼리가 실행되서.. 배치가 실행되게 하고 싶거든요.. ㅜㅜ


by 마농 [2018.11.07 08:18:14]

네 그렇게 한건데요?
매일 정해진 시간에 해당 쿼리가 수행되어.
오늘 배치를 돌릴지 말지를 결정하는 것 아닌가요?
다음 기준으로 쿼리 작성해 드렸습니다.
 - 배치 작업은 매월 10일에 돌린다.
 - 단, 10일이 월요일이면 11일에 돌린다.
 - 오늘이 배치작업을 돌리는 날인지 아닌지 판단하기 위한 쿼리를 매일 돌린다.


by 정우성 [2018.11.07 13:53:41]

네 다음의 기준이 맞습니다. 

 

감사합니다. 

 

추가로 토,일이면 이면 월요일에 실행되게도 하고 싶은데 많이 복잡해질까요? ㅜㅜ


by 마농 [2018.11.07 14:01:15]

복잡한건 문제가 아닙니다.
요구사항이 불분명하게 설명을 잘 못하시는게 문제입니다.
질문하실 때 내용을 잘 정리해서 질문하시는 게 좋을 것 같습니다.
매번 질문하시는 걸 보면 생각 없이 툭툭 던지시는 듯 한 느낌이 듭니다.
"이 질문을 상대방이 잘 이해할 수 있을까?" 라는 고민을
한번만 더 해 보시고 질문해 주시면 좋겠습니다.

"토,일이면 이면 월요일에 실행되게도 하고 싶은데"
이런 짤막한 글 말고, 좀더 구체적으로 표현해주세요.
예시자료가 있으면 더욱 좋구요.
예시는 될 수 있으면 원본대비 결과표로 보여주시면 좋구요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입