[Oracle] 오라클 날짜 더하기 빼기 방법 (DATEADD)
- 데이터베이스 / 오라클
- 2025. 5. 5.
오라클 SQL에서는 날짜 데이터에 대해 시간 간격을 더하거나 빼는 연산이 자주 필요하다. 이때 가장 기본적인 방법은 +, - 연산자를 사용하여 값을 더하거나 빼는 방식이며, 또 다른 방법은 INTERVAL 키워드를 사용하여 명시적인 시간 단위를 지정하는 방식이다. SYSDATE + 1처럼 단순한 덧셈은 직관적이고 빠르게 사용할 수 있지만, INTERVAL '2' HOUR, INTERVAL '3 10' DAY TO HOUR처럼 INTERVAL 키워드를 사용하면 보다 명확하게 단위를 표현할 수 있어 가독성과 유지보수 측면에서 강점이 있다.
목차 |
일반 수식을 사용하여 날짜를 더하거나 빼는 방법
SELECT SYSDATE
, SYSDATE + 1 --1일 더하기
, SYSDATE - 1 --1일 빼기
FROM dual
![]() |
날짜에서 플러스( + ), 마이너스( - ) 연산자를 사용하여 일수를 더하거나 뺄 수 있다.
날짜에서 시, 분, 초를 더하는 방법
SELECT SYSDATE
, SYSDATE + 5/24 AS hour --5시간 더하기
, SYSDATE + 5/(24*60) AS min --5분 더하기
, SYSDATE + 5/(24*60*60) AS sec --5초 더하기
FROM dual
![]() |
주어진 수치값을 일수로 환산하여 연산을 하면 된다.
SYSDATE + 5/24
5/24 = 0.20833일이므로, 현재 날짜에 5시간이 더해진다.
SYSDATE + 5/(24*60)
5/(24×60) = 0.003472222일이므로, 현재 날짜에 5분이 더해진다.
SYSDATE + 5/(24*60*60)
5/(24×60×60) = 0.000057870일이므로, 현재 시간에 5초가 더해진다.
날짜에서 시, 분, 초를 빼는 방법
SELECT SYSDATE
, SYSDATE - 5/24 AS hour --5시간 빼기
, SYSDATE - 5/(24*60) AS min --5분 빼기
, SYSDATE - 5/(24*60*60) AS sec --5초 빼기
FROM dual
![]() |
동일한 연산식을 사용하여 수치값을 일수로 환산하여 시, 분, 초를 뺄 수 있다.
ADD_MONTHS 함수를 사용하여 개월 수를 더하거나 빼는 방법
SELECT SYSDATE
, ADD_MONTHS(SYSDATE, 1) --1개월 더하기
, ADD_MONTHS(SYSDATE, -1) --1개월 빼기
FROM dual
![]() |
ADD_MONTHS 함수를 사용하여 날짜에서 개월 수를 쉽게 더하거나 뺄 수 있다.
INTERVAL을 사용하여 날짜를 더하거나 빼는 방법
SELECT SYSDATE
, SYSDATE + INTERVAL '1' DAY --1일 더하기
, SYSDATE - INTERVAL '1' DAY --1일 빼기
FROM dual
![]() |
INTERVAL 키워드를 사용하여 일수를 쉽게 더하거나 뺄 수 있다.
문장이 조금 길어 보이지만, 직관적이고 날짜 관련 다양한 연산을 쉽게 할 수 있기 때문에 위의 방법을 추천한다.
날짜에서 시, 분, 초를 더하는 방법
SELECT SYSDATE
, SYSDATE + INTERVAL '5' HOUR AS hour --5시간 더하기
, SYSDATE + INTERVAL '5' MINUTE AS min --5분 더하기
, SYSDATE + INTERVAL '5' SECOND AS sec --5초 더하기
FROM dual
![]() |
DAY, HOUR, MINUTE, SECOND 키워드를 사용하여 일, 시, 분, 초를 쉽게 더하거나 뺄 수 있다.
날짜에서 시, 분, 초를 빼는 방법
SELECT SYSDATE
, SYSDATE - INTERVAL '5' HOUR AS hour --5시간 빼기
, SYSDATE - INTERVAL '5' MINUTE AS min --5분 빼기
, SYSDATE - INTERVAL '5' SECOND AS sec --5초 빼기
FROM dual
![]() |
날짜에서 년, 월을 빼는 방법
SELECT SYSDATE
, SYSDATE + INTERVAL '1' YEAR --1년 더하기
, SYSDATE + INTERVAL '1' MONTH --1개월 더하기
FROM dual
![]() |
INTERVAL 키워드를 사용하면 년과 개월수도 쉽게 더하거나 뺄 수 있다.
날짜에서 복합 시간을 계산하는 방법
SELECT SYSDATE
, SYSDATE + INTERVAL '02:10' HOUR TO MINUTE AS hour_to_min --2시간10분 더하기
, SYSDATE + INTERVAL '01:30' MINUTE TO SECOND AS min_to_sec --1분30초 더하기
FROM dual
![]() |
INTERVAL 키워드를 활용해 복합 시간 단위(시:분, 분:초)를 쉽게 더하거나 뺄 수 있다.
다양한 복합 형식 예시
형식 | 의미 |
INTERVAL '3 12' DAY TO HOUR | 3일 12시간 |
INTERVAL '2 04:30' DAY TO MINUTE | 2일 4시간 30분 |
INTERVAL '1 10:15:20' DAY TO SECOND | 1일 10시간 15분 20초 |
INTERVAL '12:45' HOUR TO MINUTE | 12시간 45분 |
INTERVAL '25:10:05' HOUR TO SECOND | 25시간 10분 5초 |
INTERVAL '33:20' MINUTE TO SECOND | 33분 20초 |
[Oracle] 하루 전 날짜 구하는 방법
오라클에서 하루 전 날짜, 내일 날짜를 구하기 위해서는 날짜에서 원하는 일수만큼 정수를 빼거나 더하면 된다. 다른 데이터베이스에서는 DATEADD 함수를 사용하기도 하지만 오라클에는 별도의
gent.tistory.com
[Oracle] 오라클 시간, 분, 초 더하기 빼기
오라클 날짜타입의 값에서 시간을 빼거나 더하기 위해서는, 기본으로 제공해주는 오라클 함수가 없기 때문에 별도의 연산작업을 해줘야 한다. 시간, 분, 초를 더하기나 빼기 위해서는 일반적으
gent.tistory.com
[Oracle] 오라클 두 날짜 사이 일수 계산 (일, 시, 분 표시)
오라클 SQL에서 두 날짜 사이의 차이를 계산할 때는 빼기(-) 연산자를 사용하여 두 날짜를 빼 주면 된다. 날짜에 시간이 포함되어 있다면 소수점이 포함된 일수로 반환될 수 있으므로 주의해야 한
gent.tistory.com
[Oracle] 두 날짜 개월 수 계산 방법 (MONTHS_BETWEEN)
오라클에서 두 날짜의 월 차이를 계산해서, 개월 수를 산출할 때는 MONTHS_BETWEEN 함수를 사용한다. 개월 수 계산은 나이, 근속일수를 계산할 때 자주 사용하며, 개월 수를 산출할 때는 함수의 첫 번
gent.tistory.com