SELECT EVENTMONITOR_KEY, SITE_KEY, PRODUCT_KEY, EXCUTEDATE, EXCUTEINFO, EVENTDATE, EMAIL_YN,
NVL(LAG(EXCUTEDATE) OVER(PARTITION BY SITE_KEY, PRODUCT_KEY ORDER BY EXCUTEDATE DESC), TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')) AS NEXT_EXCUTEDATE
FROM RMTEVENTMONITOR
해당 쿼리문에서는 ARTITION BY SITE_KEY, PRODUCT_KEY ORDER BY EXCUTEDATE DESC 조건을 사용한다. 조건은 SITE_KEY와 PRODUCT_KEY가 같은 데이터를 EXCUTEDATE 역순으로 정렬하여 현재 행 이전의 마지막 행의 EXCUTEDATE 값을 가져오겠다는 의미이다.
NVL함수는 첫 번째 인자가 null이면 두번째 인자로 대체하는 함수이다.
해당 쿼리문에서는 LAG함수에서 가져온 이전 행의 EXCUTEDATE값이 null일 경우 현재 시간을 무자열로 가져오도록 TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')로 대체하게 된다.