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 date_part. 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.