This section describes functions and operators for examining and manipulating INTERVAL values.
The table below shows the available mathematical operators for INTERVAL types.
| Operator |
Description |
Example |
Result |
+ |
Addition of an INTERVAL |
INTERVAL 1 HOUR + INTERVAL 5 HOUR |
INTERVAL 6 HOUR |
+ |
Addition to a DATE |
DATE '1992-03-22' + INTERVAL 5 DAY |
1992-03-27 00:00:00 |
+ |
Addition to a TIMESTAMP |
TIMESTAMP '1992-03-22 01:02:03' + INTERVAL 5 DAY |
1992-03-27 01:02:03 |
+ |
Addition to a TIME |
TIME '01:02:03' + INTERVAL 5 HOUR |
06:02:03 |
- |
Subtraction of an INTERVAL |
INTERVAL 5 HOUR - INTERVAL 1 HOUR |
INTERVAL 4 HOUR |
- |
Subtraction from a DATE |
DATE '1992-03-27' - INTERVAL 5 DAY |
1992-03-22 |
- |
Subtraction from a TIMESTAMP |
TIMESTAMP '1992-03-27 01:02:03' - INTERVAL 5 DAY |
1992-03-22 01:02:03 |
- |
Subtraction from a TIME |
TIME '06:02:03' - INTERVAL 5 HOUR |
01:02:03 |
The table below shows the available scalar functions for INTERVAL types.
Only the documented date part components are defined for intervals.
| Description |
Extract datepart component (equivalent to extract). See INTERVAL for the sometimes surprising rules governing this extraction. |
| Example |
date_part('year', INTERVAL '14 months') |
| Result |
1 |
| Description |
Alias of date_part. |
| Example |
datepart('year', INTERVAL '14 months') |
| Result |
1 |
| Description |
Alias of date_part. |
| Example |
extract('month' FROM INTERVAL '14 months') |
| Result |
2 |
| Description |
Get total number of seconds, as double precision floating point number, in interval. |
| Example |
epoch(INTERVAL 5 HOUR) |
| Result |
18000.0 |
| Description |
Construct a century interval. |
| Example |
to_centuries(5) |
| Result |
INTERVAL 500 YEAR |
| Description |
Construct a day interval. |
| Example |
to_days(5) |
| Result |
INTERVAL 5 DAY |
| Description |
Construct a decade interval. |
| Example |
to_decades(5) |
| Result |
INTERVAL 50 YEAR |
| Description |
Construct an hour interval. |
| Example |
to_hours(5) |
| Result |
INTERVAL 5 HOUR |
| Description |
Construct a microsecond interval. |
| Example |
to_microseconds(5) |
| Result |
INTERVAL 5 MICROSECOND |
| Description |
Construct a millennium interval. |
| Example |
to_millennia(5) |
| Result |
INTERVAL 5000 YEAR |
| Description |
Construct a millisecond interval. |
| Example |
to_milliseconds(5) |
| Result |
INTERVAL 5 MILLISECOND |
| Description |
Construct a minute interval. |
| Example |
to_minutes(5) |
| Result |
INTERVAL 5 MINUTE |
| Description |
Construct a month interval. |
| Example |
to_months(5) |
| Result |
INTERVAL 5 MONTH |
| Description |
Construct an interval of integer quarters. |
| Example |
to_quarters(5) |
| Result |
INTERVAL 1 YEAR 3 MONTHS |
| Description |
Construct a second interval. |
| Example |
to_seconds(5) |
| Result |
INTERVAL 5 SECOND |
| Description |
Construct a week interval. |
| Example |
to_weeks(5) |
| Result |
INTERVAL 35 DAY |
| Description |
Construct a year interval. |
| Example |
to_years(5) |
| Result |
INTERVAL 5 YEAR |
© 2026 DuckDB Foundation, Amsterdam NL