카테고리:

날짜 및 시간 함수

ADD_MONTHS

월말 정보를 유지하면서, 지정된 개월 수를 날짜 또는 타임스탬프에 더하거나 뺍니다.

구문

ADD_MONTHS( <date_or_timestamp_expr> , <num_months_expr> )
Copy

인자

필수:

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 |
+-------------------------+
Copy

월말 정보 보존을 보여줍니다.

  • 2016년 2월(윤년)의 마지막 날에 한 달을 더합니다.

  • 2016년 5월의 마지막 날에서 한 달을 뺍니다.

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