ADD_MONTHS 스칼라 함수

ADD_MONTHS 함수는 지정된 월 수와 expression을 나타내는 날짜 시간 값을 리턴합니다.

Read syntax diagramSkip visual syntax diagramADD_MONTHS(expression, numeric-expression)

스키마는 SYSIBM입니다.

표현식
시작 날짜를 지정하는 표현식입니다. 표현식은 내장 데이터 유형(DATE 또는 TIMESTAMP) 중 하나의 값을 리턴해야 합니다.
numeric-expression
내장 숫자 데이터 유형의 값을 리턴하는 표현식입니다. 값이 INTEGER 유형이 아닌 경우 함수를 평가하기 전에 내재적으로 INTEGER로 캐스트됩니다. numeric-expressionexpression에서 지정하는 시작 날짜에 추가할 월 수를 지정합니다. 음수 값이 허용됩니다.

expression이 문자열이 아닌 경우, 함수의 결과에 expression과 동일한 데이터 유형이 있고, 이 경우 데이터 유형이 DATE입니다. 결과가 널(NULL)이 될 수 있습니다. 즉, 인수가 널(NULL)일 경우, 결과는 널(NULL)이 됩니다.

expression이 월의 마지막 일이거나 결과 월이 expression의 일 구성요소보다 더 적은 경우, 결과는 결과 월의 마지막 일입니다. 그렇지 않으면, 결과에는 expression과 동일한 일 구성요소가 있습니다. expression에 포함되는 시, 분, 초 또는 정밀 단위 초 정보가 함수로 변경되지 않습니다.

예:

  • 예제 1: 오늘이 2007년 1월 31일이라고 가정하십시오. 1월의 마지막 일에 한 달을 더하여 호스트 변수 ADD_MONTH를 설정하십시오.
    
         SET :ADD_MONTH = ADD_MONTHS(LAST_DAY(CURRENT_DATE), 1);

    호스트 변수 ADD_MONTH는 2007-02-28, 2월의 끝을 나타내는 값으로 설정됩니다.

  • 예제 2: DATE는 1965년 7월 27일의 값을 가진 호스트 변수라고 가정하십시오. 해당 날짜에 세 달을 더한 값으로 호스트 변수 ADD_MONTH를 설정하십시오.
    
         SET :ADD_MONTH = ADD_MONTHS(:DATE,3);

    호스트 변수 ADD_MONTH는 1965-10-27, 세 달을 더한 날짜를 나타내는 값으로 설정됩니다.

  • 예 3: ADD_MONTHS 함수를 사용하여 날짜 시간 산술과 유사한 결과를 얻을 수 있습니다. 다음 예제는 유사성 및 대비에 대해 설명합니다.
    
         SET :DATEHV = DATE('2008-2-28') + 4 MONTHS;
         SET :DATEHV = ADD_MONTHS('2008-2-28', 4);
    

    양쪽 모두의 경우에, 호스트 변수 DATEHV가 '2008-06-28' 값으로 설정됩니다.

    '2008-2-29' 날짜가 아닌 인수와 동일한 예제를 고려하십시오.

    
         SET :DATEHV = DATE('2008-2-29') + 4 MONTHS;

    호스트 변수 DATEHV는 '2008-06-29' 값으로 설정됩니다.

    
         SET :DATEHV = ADD_MONTHS('2008-2-29', 4);

    호스트 변수 DATEHV는 '2008-06-30' 값으로 설정됩니다.

    이 경우, ADD_MONTHS 함수는 월의 마지막 일을 리턴하고, 이는 2008년 6월 29일 대신 2008년 6월 30일입니다. 2월 29일이 월의 마지막 일이기 때문입니다. 따라서, ADD_MONTHS 함수는 6월의 마지막 일을 리턴합니다.