복붙노트

[SQL] 오라클 리드 및 래그 함수 테라 당량

SQL

오라클 리드 및 래그 함수 테라 당량

나는 오라클 리드 및 지연 기능에 해당하는 기능을 참조 하다며 노력하고있다.

오라클 리드 같을 것이다

LEAD(col1.date,1,ADD_MONTHS(col1.DATE,12)) 
OVER(Partition By tab.a,tab.b,tab.c Order By tab.a)-1 END_DATE

LAG(col1.DATE + 7,1,col1.DATE-1) 
OVER(partition by tab.a,tab.b Order By tab.b) LAG_DATE

어떤 더 나은 아이디어

해결법

  1. ==============================

    1.나는 당신이 당신의 요구를 충족하기 위해 근거로 다음과 같은 SQL을하고 수정할 수 있다고 생각합니다 :

    나는 당신이 당신의 요구를 충족하기 위해 근거로 다음과 같은 SQL을하고 수정할 수 있다고 생각합니다 :

    SELECT CALENDAR_DATE
         , MAX(CALENDAR_DATE)
           OVER(PARTITION BY 1 ORDER BY CALENDAR_DATE
                ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS Lag_ --Yesterday
         , MIN(CALENDAR_DATE)
                OVER(PARTITION BY 1 ORDER BY CALENDAR_DATE
                ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) AS Lead_ --Tomorrow
    FROM SysCalendar.CALENDAR
    WHERE year_of_calendar = 2011
      AND month_of_year = 11
    

    이 이전 또는 이후에 대한 기록입니다 필요로 COALESCE으로 해결 될 수있을 때 NULL이 반환됩니다.

    편집에서 테라 데이타 16.00 LAG는 / LEAD 기능이 도입되었습니다.

  2. from https://stackoverflow.com/questions/8124756/teradata-equivalent-for-lead-and-lag-function-of-oracle by cc-by-sa and MIT license