개인적인 정리

ORACLE ADD_MONTHS(date, integer) 본문

DB/ORACLE

ORACLE ADD_MONTHS(date, integer)

yeon.Biju 2020. 3. 20. 09:54

 

ADD_MONTHS(date, integer)

   - date integer 를 더한 date를 return 한다. integer =, - 모두 가능

 

ADD_MONTHS returns the date date plus integer months. A month is defined by the session parameter NLS_CALENDAR. The date argument can be a datetime value or any value that can be implicitly converted to DATE. The integer agrument can be an integer or any value that can be implicitly converted to an integer. The return type is always DATE, regardless of the date type of date. If date is the last day of the month or if the resulting month has fewer days that the day component of date, then the result is the last day of the resulting month. Otherwise, the result has the same day component as date.

 

 

SQL> SELECT SYSDATE FROM DUAL ;

   --> 2020/03/20 오전 9:49:04

 

SQL> SELECT ADD_MONTHS(SYSDATE, 3) FROM DUAL ;

   --> 2020/06/20 오전 9:49:14

 

SQL> SELECT ADD_MONTHS(SYSDATE, -3) FROM DUAL ;

   --> 2019/12/20 오전 9:49:51

 

SQL> SELECT ADD_MONTHS('2020-01-01', 3) FROM DUAL ; 

   --> ORA-01861: literal does not match format string

 

ADD_MONTHS 는 DATE 또는 DATETIME 형태를 인자로 받으니 '2020-01-01'처럼 들어가면 문자열로 인식해서 오류가 발생하는 것 같다. TO_DATE()를 이용해서 명시적으로 DATE 타입 형태로 변경해준다.

 

SQL> SELECT ADD_MONTHS(TO_DATE('2020-01-01', 'YYYY-MM-DD'), 3) FROM DUAL ;

   --> 2020/04/01

 

 

 

'DB > ORACLE' 카테고리의 다른 글

ORACLE ASIN()  (0) 2020.03.24
ORACLE ASCIISTR()  (0) 2020.03.24
ORACLE ASCII() 함수  (0) 2020.03.23
ORACLE APPENDCHILDXML() 함수  (0) 2020.03.23
Oracle ACOS(n)  (0) 2020.03.20
Oracle ABS(n)  (0) 2020.03.20
oci_connect() [function.oci-connect]: ORA-24408  (0) 2019.11.08
TABLE EXPORT & IMPORT (CLOB 포함)  (0) 2019.05.14
Comments