ADD_MONTHS

ADD_MONTHS

ADD_MONTHS() 함수는 날짜 또는 타임스탬프에 지정된 개월 수를 더하거나 빼며, 월말(end-of-month) 정보를 보존해요.

출처: Snowflake SQL Reference

본문

문법

ADD_MONTHS( <date_or_timestamp_expr> , <num_months_expr> )

인자

date_or_timestamp_expr (필수) — 지정된 개월 수를 더하려는 날짜 또는 타임스탬프 표현식이에요.

num_months_expr (필수) — 더할 개월 수예요. 정수여야 하며 양수일 수도 음수일 수도 있어요. 값이 정수가 아닌 숫자 값(예: FLOAT)이면 가장 가까운 정수로 반올림돼요.

반환

반환 값의 데이터 타입은 첫 번째 인자의 데이터 타입과 같아요. 예를 들어 입력이 DATE면 출력도 DATE이고, 입력이 TIMESTAMP_NTZ면 출력도 TIMESTAMP_NTZ예요.

사용 노트

ADD_MONTHS는 MONTH 컴포넌트와 함께 사용한 DATEADD와는 약간 다른 결과를 반환해요.

  • ADD_MONTHS와 DATEADD 모두, 결과 월의 일 수가 원래 일 수보다 적으면 결과 월의 일은 결과 월의 마지막 날이 돼요.
  • ADD_MONTHS에서만, 원래 일이 월의 마지막 날이면 결과 월의 일은 결과 월의 마지막 날이 돼요.

num_months_expr은 개월을 더하거나 빼는 양수 또는 음수 정수일 수 있어요.

예제

날짜에 2개월을 더하고 타임존 없는 타임스탬프로 캐스팅해요:

SELECT ADD_MONTHS('2016-05-15'::timestamp_ntz, 2) AS RESULT;
+-------------------------+
| RESULT                  |
|-------------------------|
| 2016-07-15 00:00:00.000 |
+-------------------------+

월말 정보 보존을 확인해 봐요.

2016년 2월(윤년) 마지막 날에 1개월을 더해요.

2016년 5월 마지막 날에서 1개월을 빼요.

SELECT ADD_MONTHS('2016-02-29'::date, 1) AS RESULT;
+------------+
| RESULT     |
|------------|
| 2016-03-31 |
+------------+
SELECT ADD_MONTHS('2016-05-31'::date, -1) AS RESULT;
+------------+
| RESULT     |
|------------|
| 2016-04-30 |
+------------+

더 알아보기 (Learn more)