문제
- 추출 시점을 기준으로 지난 달의 데이터만 추출하고 싶은 경우다.
해결 방법
SELECT date
FROM table
WHERE EXTRACT(MONTH FROM date) = (EXTRACT(MONTH FROM CURRENT\_DATE('Asia/Seoul')) - 1)
해석하자면, 아래와 같다.
- 먼저 EXTRACT 함수를 이용해 date 컬럼에서 월을 추출한다.
- 그 다음 CURRENT_DATE와 EXTRACT 함수를 이용해 현재 일자의 월을 가져와서 1을 뺀다.
- 각 로우별로 2번에 해당하는 값만 가져오도록 설정하면, 지난 달의 데이터만 가져오게 된다.