ADD_MONTHS

Syntax

ADD_MONTHS
(
  date    IN,
  number  IN 
)
RETURNS date;

ADD_MONTHS
(
  TIMESTAMP WITH TIME ZONE  IN,
  number                    IN
)
RETURNS TIMESTAMP WITHOUT TIME ZONE;

개요

ADD_MONTHS 함수는 주어진 날짜나 타임스탬프에 지정한 개월 수를 더한 새로운 날짜나 타임스탬프를 반환한다.

내부적으로 입력 날짜를 연, 월, 일로 분해한 후, 전체 개월 수를 더해 새 연도와 월을 계산한다.

특히, 입력 날짜가 해당 월의 마지막 날인 경우 새 달의 마지막 날로 조정된다.

첫 번째 인자가 timestamptz 인 경우, 날짜 계산 후 기존의 시간 정보를 그대로 유지한다.

파라미터
설명

date

date 타입이다; 기준이 되는 날짜를 나타낸다.

timestamp with timezone

timestamptz 타입이다; 기준이 되는 날짜+시간+timezone을 나타낸다.

number

integer, double precision, numeric 타입이다; 더할 개월 수를 나타내며, 내부적으로 정수형으로 변환되어 사용된다.

예제

# 테스트 1
select oracle.add_months('2023-01-31'::date, 3);

 add_months 
------------
 2023-04-30
(1 row)

# 테스트 2
select oracle.add_months('2023-01-31'::date, 3.9999);

 add_months 
------------
 2023-04-30
(1 row)

# 테스트 3
SELECT oracle.ADD_MONTHS('2023-01-31 15:30:00+09'::timestamptz, 1);

     add_months      
---------------------
 2023-02-28 15:30:00
(1 row)

# 테스트 4
SELECT oracle.ADD_MONTHS('2023-01-31 15:30:00+09'::timestamptz, 1.3);

     add_months      
---------------------
 2023-02-28 15:30:00
(1 row)

Last updated