Documentation
/ SQL
/ Functions
Time Functions
This section describes functions and operators for examining and manipulating TIME values.
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 |
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.
| 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() |
| Description |
The number of partition boundaries between the times. |
| Example |
date_diff('hour', TIME '01:02:03', TIME '06:01:03') |
| Result |
5 |
| Description |
Get subfield (equivalent to extract). |
| Example |
date_part('minute', TIME '14:21:13') |
| Result |
21 |
| Description |
The number of complete partitions between the times. |
| Example |
date_sub('hour', TIME '01:02:03', TIME '06:01:03') |
| Result |
4 |
| 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 |
| Description |
Alias of date_part. Get subfield (equivalent to extract). |
| Example |
datepart('minute', TIME '14:21:13') |
| Result |
21 |
| 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 |
| Description |
Get subfield from a time. |
| Example |
extract('hour' FROM TIME '14:21:13') |
| Result |
14 |
| Description |
Current time (start of current transaction). |
| Example |
get_current_time() |
| Result |
10:31:58.578 |
| Alias |
current_time |
| Description |
The time for the given parts. |
| Example |
make_time(13, 34, 27.123456) |
| Result |
13:34:27.123456 |