프로그래밍 PROGRAMMING/데이터베이스 DATABASE

[ORACLE] 오라클 INTERVAL 내장함수 사용하는 방법

매운할라피뇽 2021. 6. 23. 17:59
반응형

 

제목 오라클 인터벌 내장함수 사용법

 

오라클에서 날짜 년도를 더하고 빼는 방법

 

오라클의 날짜 DATE 컬럼에서 년도를 더하고 뺄때 ADD_MONTHS() 내장 함수를 사용하기도 한다. 하지만  INTERVAL 을 이용하는게 보다 직관적이고 쉽게 컨트롤 할 수 있다는 점에서 유용하다. 

 

-- 년도를 빼기
SELECT SYSDATE - (INTERVAL '1' YEAR ) FROM DUAL

-- 년도를 더하기
SELECT SYSDATE + (INTERVAL '1' YEAR ) FROM DUAL

 

오라클에서 INTERVAL 활용하기

년도 이외에도 오라클에서 DATE 형을 컨트롤할 때 INTERVAL을 사용하면 편리하게 할 수 있다.

 

--1년 더하기
SELECT SYSDATE + (INTERVAL '1' YEAR) FROM DUAL
--1개월 더하기
SELECT SYSDATE + (INTERVAL '1' MONTH)  FROM DUAL
--1일 더하기
SELECT SYSDATE + (INTERVAL '1' DAY) FROM DUAL
--1시간 더하기
SELECT SYSDATE + (INTERVAL '1' HOUR) FROM DUAL
--1분 더하기
SELECT SYSDATE + (INTERVAL '1' MINUTE) FROM DUAL
--1초 더하기
SELECT SYSDATE + (INTERVAL '1' SECOND) FROM DUAL

 

그렇다면 위 사용법에서 시간과 분을 조합해서 사용하는 것은 어떻게 할까?

 

-- 3시간30분 더하기
SELECT SYSDATE + (INTERVAL '03:30' HOUR TO MINUTE) FROM DUAL; 
-- 10분30초 더하기
SELECT SYSDATE + (INTERVAL '10:30' MINUTE TO SECOND) FROM DUAL;
-- 1년 1개월 더하기
SELECT SYSDATE + (INTERVAL '1-1' YEAR TO MONTH) FROM DUAL;

위에서 볼 수 있듯이 HOUR TO MINUTE 혹은 MINUTE TO SECOND는 ':' 구분자를 통해서 구분해주면 된다. 그리고 연도와 개월의 경우에는 '-' 구분자를 통해 구분해주면 정상적으로 현재 날짜에서 1년하고 1개월이 더해져서 출력된다.

반응형