Search Shortcut cmd + k | ctrl + k
Search cmd+k ctrl+k
Dark Mode
1.1 (stable)
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.

Operator Description Example Result
+ addition of an INTERVAL TIME '01:02:03' + INTERVAL 5 HOUR 06:02:03
- subtraction of an INTERVAL TIME '06:02:03' - INTERVAL 5 HOUR' 01:02:03

## Time Functions

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

Name Description
current_time Current time (start of current transaction).
date_diff(part, starttime, endtime) The number of partition boundaries between the times.
date_part(part, time) Get subfield (equivalent to extract).
date_sub(part, starttime, endtime) The number of complete partitions between the times.
datediff(part, starttime, endtime) Alias of date_diff. The number of partition boundaries between the times.
datepart(part, time) Alias of date_part. Get subfield (equivalent to extract).
datesub(part, starttime, endtime) Alias of date_sub. The number of complete partitions between the times.
extract(part FROM time) Get subfield from a time.
get_current_time() Current time (start of current transaction).
make_time(bigint, bigint, double) The time for the given parts.

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

#### current_time

 Description Current time (start of current transaction). Note that parentheses should be omitted. Example current_time Result 10:31:58.578 Alias get_current_time()

#### date_diff(part, starttime, endtime)

 Description The number of partition boundaries between the times. Example date_diff('hour', TIME '01:02:03', TIME '06:01:03') Result 5

#### date_part(part, time)

 Description Get subfield (equivalent to extract). Example date_part('minute', TIME '14:21:13') Result 21

#### date_sub(part, starttime, endtime)

 Description The number of complete partitions between the times. Example date_sub('hour', TIME '01:02:03', TIME '06:01:03') Result 4

#### datediff(part, starttime, endtime)

 Description Alias of date_diff. The number of partition boundaries between the times. Example datediff('hour', TIME '01:02:03', TIME '06:01:03') Result 5

#### datepart(part, time)

 Description Alias of date_part. Get subfield (equivalent to extract). Example datepart('minute', TIME '14:21:13') Result 21

#### datesub(part, starttime, endtime)

 Description Alias of date_sub. The number of complete partitions between the times. Example datesub('hour', TIME '01:02:03', TIME '06:01:03') Result 4

#### extract(part FROM time)

 Description Get subfield from a time. Example extract('hour' FROM TIME '14:21:13') Result 14

#### get_current_time()

 Description Current time (start of current transaction). Example get_current_time() Result 10:31:58.578 Alias current_time

#### make_time(bigint, bigint, double)

 Description The time for the given parts. Example make_time(13, 34, 27.123456) Result 13:34:27.123456