반응형

오라클 JOB 을 잡을 때

SUBMIT을 넣을 데이터로 활용하기 위한 SQL

 

 /* 최초 배치 시간 지정 */

-- 특정 기간 배치설정(매월 3일 3시 30분 ~ 7일 3시 30분)

-- 오라클 JOB의 INTERVAL이 최대 200 이기 때문에 최대한 붙여써야함.

SELECT CASE

   WHEN TO_CHAR(SYSDATE, 'DD') >= '03' AND TO_CHAR(SYSDATE, 'DD') < '07' THEN TRUNC(SYSDATE, 'DD')+1+3/24/60+30/24/60

   ELES  ADD_MONTHS(TRUNC(SYSDATE, 'MM', +1)+2+3/24+30/24/60

             END

FROM    DUAL

;

 

-- 월별 3:30 배치

SELECT TRUNC(SYSDATE, 'DD') + 3/24 + 30/24/60     FROM DUAL;

 

-- 시간별(정각)

SELECT TRUNC(SYSDATE, 'HH24') +1/24     FROM DUAL;

 

-- 시간별(정각+3)

SELECT TRUNC(SYSDATE, 'HH24') +1/24 +3/24/60    FROM DUAL;

 

-- 분당 (1, 5, 10)

SELECT TRUNC(SYSDATE, 'HH24') +1/24 +1/24/60    FROM DUAL;

SELECT TRUNC(SYSDATE, 'HH24') +1/24 +5/24/60    FROM DUAL;

SELECT TRUNC(SYSDATE, 'HH24') +1/24 +10/24/60    FROM DUAL;

 

-- 다음 일요일

SELECT SYSDATE - TO_CHAR(SYSDATE, 'D') + 8 AS NEXT_SUNDAY

 

 

/* 다음 배치 시간 */

-- 월별

SELECT ADD_MONTHS(TRUNC(SYSDATE, 'DD'), +1) +3/24 +30/24/60 FROM DUAL;

 

-- 분당

SELECT TRUNC(SYSDATE, 'MI')+1/24/60 FROM DUAL;

SELECT TRUNC(SYSDATE, 'MI')+5/24/60 FROM DUAL;

SELECT TRUNC(SYSDATE, 'MI')+10/24/60 FROM DUAL;

 

반응형

WRITTEN BY
데르벨준

,