Skip to main content

Time Functions

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

Time Operators

The table below shows the available mathematical operators for TIME types.

OperatorDescriptionExampleResult
+addition of an INTERVALTIME '01:02:03' + INTERVAL 5 HOUR06:02:03
-subtraction of an INTERVALTIME '06:02:03' - INTERVAL 5 HOUR'01:02:03

Time Functions

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

FunctionDescriptionExampleResult
current_time/get_current_time()Current time (start of current transaction)
date_diff(part, starttime, endtime)The number of partition boundaries between the timesdate_diff('hour', TIME '01:02:03', TIME '06:01:03')5
datediff(part, starttime, endtime)Alias of date_diff. The number of partition boundaries between the timesdatediff('hour', TIME '01:02:03', TIME '06:01:03')5
date_part(part, time)Get subfield (equivalent to extract)date_part('minute', TIME '14:21:13')21
datepart(part, time)Alias of datepart. Get subfield (equivalent to _extract)datepart('minute', TIME '14:21:13')21
date_sub(part, starttime, endtime)The number of complete partitions between the timesdate_sub('hour', TIME '01:02:03', TIME '06:01:03')4
datesub(part, starttime, endtime)Alias of date_sub. The number of complete partitions between the timesdatesub('hour', TIME '01:02:03', TIME '06:01:03')4
extract(part from time)Get subfield from a timeextract('hour' FROM TIME '14:21:13')14
make_time(bigint, bigint, double)The time for the given partsmake_time(13, 34, 27.123456)13:34:27.123456

The only date parts that are defined for times are epoch, hours, minutes, seconds, milliseconds and microseconds.