2015-02-06 2 views
0

시계열을 처음 구입 한 후 각 고객에 대해 3 개월 단위로 매출을 합산하는 변수를 생성하려고합니다. 아래 오류 코드는 괄호가 누락되었다고 말합니다.날짜 간격을 사용하여 사례 명세서

sum(case 
    when merch.trans_dt between min(merch.trans_dt) 
    and add_date(min(merch.trans_dt), interval 3 month) 
    then merch.rdswrit_rps_netnet_pur_amt 
end) as spend_next3 
+1

'다음'이 누락 된 것 같습니다. 그러나 add_date는 Oracle 함수가 아니며 interval 리터럴은''3 ''이어야합니다. 대신에'add_months' 함수를 확인하십시오. –

+0

여기에 코드를 업데이트했습니다. 복사/붙여 넣기 오류 –

+2

이었습니다. 'and add_months (min (merch.trans_dt), 3)'? –

답변

1

이 작업은 min(merch.trans_dt) + interval 3 month이 아닌 단순히 덧셈을 사용하여 수행 할 수 있습니다.

그러나이 방법으로는 원하는 답변을 얻지 못할 수도 있습니다. to_date('1/31/2015','mm/dd/yyyy') + interval '3' month과 같은 경우 대부분 ORA-01839: date not valid for month specified이됩니다.

의견에 앞서 표시된대로 add_months을 사용하는 것이 좋습니다. add_months(min(merch.trans_dt),3).