programing

Oracle Date - 지금까지의 연도를 추가하는 방법

oldcodes 2023. 3. 10. 22:43
반응형

Oracle Date - 지금까지의 연도를 추가하는 방법

날짜 필드가 있습니다.

DATE = 10/10/2010

sum = 4(계산에 의한 년수)

2010년 10월 10일에 4년을 더해서 2014년 10월 10일로 만드는 방법이 있을까요?

대신 월(12 * 년 수)을 추가해 보십시오.이렇게...

add_months(date'2010-10-10', 48)

사용하다add_months

예:

SELECT add_months( to_date('10-OCT-2010'), 48 ) FROM DUAL;

경고
add_parts: 시작 월의 마지막 날을 입력한 경우 결과 월의 마지막 날을 반환합니다.

그렇게add_months(to_date('28-feb-2011'),12)그 결과 2012년 2월 29일에 반환됩니다.

당신이 이걸 쓸 수 있을 것 같아요ADD_MONTHS()기능.4년은 48개월입니다.따라서:

add_months(DATE,48)

다음은 기능 사용에 대한 몇 가지 정보입니다.

http://www.techonthenet.com/oracle/functions/add_months.php

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1157035034361

다음과 같이 시험해 보십시오.

someDate + interval '4' year

간격

제가 당신의 질문을 제대로 이해했는지 모르겠지만,

select add_months(someDate, numberOfYears * 12) from dual

효과가 있을지도 모른다

ADD_MONTHS 이외의 옵션 1개 추가

SELECT
      SYSDATE,
      SYSDATE
      + TO_YMINTERVAL ( '1-0' )
FROM
      DUAL;


SYSDATE   SYSDATE+TO_YMINTERVAL('1-0')
--------- ----------------------------
29-OCT-13 29-OCT-14                   
1 row selected.


SELECT
      SYSDATE,
      SYSDATE
      + TO_YMINTERVAL ( '2-0' )
FROM
      DUAL;


SYSDATE   SYSDATE+TO_YMINTERVAL('2-0')
--------- ----------------------------
29-OCT-13 29-OCT-15                   
1 row selected.

SELECT
      TO_DATE ( '29-FEB-2004',
              'DD-MON-YYYY' )
      + TO_YMINTERVAL ( '1-0' )
FROM
      DUAL

   *
Error at line 4

ORA-01839: date not valid for month specified

그러나 2005년 2월 29일이 없기 때문에 마지막 것은 불법이기 때문에 윤년(2월 29일)에 불합격된다.

같은 내용의 매뉴얼을 참조해 주세요.

        SELECT TO_CHAR(SYSDATE,'YYYY')-2 ANO FROM DUAL

언급URL : https://stackoverflow.com/questions/9313234/oracle-date-how-to-add-years-to-date

반응형