오라클을 사용하다 보면 이전행 또는 이후행의 레코드 값을 가져와야 하는 경우가 발생한다.

이때 사용할 수 있는 오라클 함수가 있다.

 

바로 LAG, LEAD 함수이다.

 

LAG 은 이전행의 레코드 값을 가져오는 함수

LEAD 는 이후 행의 레코드 값을 가져오는 함수

 

예제는 다음과 같다.

 

SELECT DD
     , VAL
     , LAG(VAL)  OVER (ORDER BY DD) LAG_VAL
     , LEAD(VAL) OVER (ORDER BY DD) LEAD_VAL
 FROM (
            SELECT '20010901' DD, 1 VAL FROM DUAL
            UNION ALL
            SELECT '20010902' DD, 2 VAL FROM DUAL
            UNION ALL
            SELECT '20010903' DD, 3 VAL FROM DUAL
        );

 

 

'IT > Oracle' 카테고리의 다른 글

rman crosscheck archivelog  (0) 2017.03.15

+ Recent posts