ADD_MONTHS 스칼라 함수
ADD_MONTHS 함수는 지정된 월 수와 expression을 나타내는 날짜 시간 값을 리턴합니다.
스키마는 SYSIBM입니다.
- 표현식
- 시작 날짜를 지정하는 표현식입니다. 표현식은 내장 데이터 유형(DATE 또는 TIMESTAMP) 중 하나의 값을 리턴해야 합니다. numeric-expression
- 내장 숫자 데이터 유형의 값을 리턴하는 표현식입니다. 값이 INTEGER 유형이 아닌 경우 함수를 평가하기 전에 내재적으로 INTEGER로 캐스트됩니다. numeric-expression은 expression에서 지정하는 시작 날짜에 추가할 월 수를 지정합니다. 음수 값이 허용됩니다.
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월의 마지막 일을 리턴합니다.
