Time Functions
Version 0.7.1

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.

Function Description Example Result
`current_time`/`get_current_time()` Current time (start of current transaction)
`date_diff(``part``, ``starttime``, ``endtime``)` The number of partition boundaries between the times `date_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 times `datediff('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 times `date_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 times `datesub('hour', TIME '01:02:03', TIME '06:01:03')` 4
`extract(``part` `from` `time``)` Get subfield from a time `extract('hour' FROM TIME '14:21:13')` 14
`make_time(``bigint``, ``bigint``, ``double``)` The time for the given parts `make_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`.

Search Shortcut cmd + k | ctrl + k