⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
Interval Functions

This section describes functions and operators for examining and manipulating INTERVAL values.

Interval Operators

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
+ 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

Interval Functions

The table below shows the available scalar functions for INTERVAL types.

Name Description
date_part(part, interval) Extract datepart component (equivalent to extract). See INTERVAL for the sometimes surprising rules governing this extraction.
datepart(part, interval) Alias of date_part.
extract(part FROM interval) Alias of date_part.
epoch(interval) Get total number of seconds, as double precision floating point number, in interval.
to_centuries(integer) Construct a century interval.
to_days(integer) Construct a day interval.
to_decades(integer) Construct a decade interval.
to_hours(integer) Construct a hour interval.
to_microseconds(integer) Construct a microsecond interval.
to_millennia(integer) Construct a millennium interval.
to_milliseconds(integer) Construct a millisecond interval.
to_minutes(integer) Construct a minute interval.
to_months(integer) Construct a month interval.
to_seconds(integer) Construct a second interval.
to_weeks(integer) Construct a week interval.
to_years(integer) Construct a year interval.

Only the documented date part components are defined for intervals.

date_part(part, interval)

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

datepart(part, interval)

Description Alias of date_part.
Example datepart('year', INTERVAL '14 months')
Result 1

extract(part FROM interval)

Description Alias of date_part.
Example extract('month' FROM INTERVAL '14 months')
Result 2

epoch(interval)

Description Get total number of seconds, as double precision floating point number, in interval.
Example epoch(INTERVAL 5 HOUR)
Result 18000.0

to_centuries(integer)

Description Construct a century interval.
Example to_centuries(5)
Result INTERVAL 500 YEAR

to_days(integer)

Description Construct a day interval.
Example to_days(5)
Result INTERVAL 5 DAY

to_decades(integer)

Description Construct a decade interval.
Example to_decades(5)
Result INTERVAL 50 YEAR

to_hours(integer)

Description Construct a hour interval.
Example to_hours(5)
Result INTERVAL 5 HOUR

to_microseconds(integer)

Description Construct a microsecond interval.
Example to_microseconds(5)
Result INTERVAL 5 MICROSECOND

to_millennia(integer)

Description Construct a millennium interval.
Example to_millennia(5)
Result INTERVAL 5000 YEAR

to_milliseconds(integer)

Description Construct a millisecond interval.
Example to_milliseconds(5)
Result INTERVAL 5 MILLISECOND

to_minutes(integer)

Description Construct a minute interval.
Example to_minutes(5)
Result INTERVAL 5 MINUTE

to_months(integer)

Description Construct a month interval.
Example to_months(5)
Result INTERVAL 5 MONTH

to_seconds(integer)

Description Construct a second interval.
Example to_seconds(5)
Result INTERVAL 5 SECOND

to_weeks(integer)

Description Construct a week interval.
Example to_weeks(5)
Result INTERVAL 35 DAY

to_years(integer)

Description Construct a year interval.
Example to_years(5)
Result INTERVAL 5 YEAR