Cloud

make_interval

The make_interval() function creates an interval value from years, months, weeks, days, hours, minutes, and seconds fields.

Syntax

Arguments are positional. Provide as many as you need, starting from years; you can’t skip a field to supply a later one:

MAKE_INTERVAL()
MAKE_INTERVAL(years)
MAKE_INTERVAL(years, months)
MAKE_INTERVAL(years, months, weeks)
MAKE_INTERVAL(years, months, weeks, days)
MAKE_INTERVAL(years, months, weeks, days, hours)
MAKE_INTERVAL(years, months, weeks, days, hours, minutes)
MAKE_INTERVAL(years, months, weeks, days, hours, minutes, seconds)

Arguments

  • years, months, weeks, days, hours, minutes: Integers. Each defaults to 0 when omitted.

  • seconds: A floating-point number (supports fractional seconds). Defaults to 0 when omitted.

Return type

interval

Examples

No arguments

SELECT MAKE_INTERVAL();
 make_interval
---------------
 00:00:00
(1 row)

Years and months

SELECT MAKE_INTERVAL(1, 6);
   make_interval
-------------------
 1 year 6 mons
(1 row)

Full set of fields

SELECT MAKE_INTERVAL(1, 2, 3, 4, 5, 6, 7.5);
                make_interval
-----------------------------------------------
 1 year 2 mons 25 days 05:06:07.5
(1 row)