How to Add Days to a Date in Oracle

Last updated August 25, 2026 · By the SaturnSQL team

Add a number directly to a DATE: hire_date + 7 adds seven days. For months, use ADD_MONTHS(hire_date, 1) rather than approximating with a day count.

SELECT hire_date,
       hire_date + 7 AS a_week_later,
       hire_date - 30 AS a_month_ago,
       hire_date + INTERVAL '3' DAY AS also_three_days_later
FROM employees;

Adding hours, minutes, or fractional days

A DATE literal or column plus a plain number adds whole days. To add smaller units, either use a fraction (adding 1/24 adds one hour) or an INTERVAL literal, which is clearer about intent.

SELECT hire_date + 1/24 AS plus_one_hour,
       hire_date + INTERVAL '90' MINUTE AS plus_90_minutes
FROM employees;

hire_date + 30 is a rough approximation of 'one month later' and drifts depending on the month's length. ADD_MONTHS(hire_date, 1) is the correct tool because it also handles month-end clamping: ADD_MONTHS(TO_DATE('2026-01-31','YYYY-MM-DD'), 1) returns 2026-02-28 (or 29 in a leap year), not an invalid or overflowed date like March 3rd. This is the specific reason ADD_MONTHS exists instead of just using day arithmetic.

Run this in SaturnSQL

SaturnSQL is a browser-based SQL editor for teams: shared query library, schema-aware autocomplete, and scheduled exports to Google Sheets and Slack.

Try it free

Do more with Oracle

Related Oracle guides