Documentation
/ SQL
/ Functions
Date Part Functions
The date_part and date_diff and date_trunc functions can be used to manipulate the fields of temporal types.
The fields are specified as strings that contain the part name of the field.
Below is a full list of all available date part specifiers.
The examples are the corresponding parts of the timestamp 2021-08-03 11:59:44.123456.
| Specifier |
Description |
Synonyms |
Example |
'century' |
Gregorian century |
'cent', 'centuries', 'c' |
21 |
'day' |
Gregorian day |
'days', 'd', 'dayofmonth' |
3 |
'decade' |
Gregorian decade |
'dec', 'decades', 'decs' |
202 |
'hour' |
Hours |
'hr', 'hours', 'hrs', 'h' |
11 |
'microseconds' |
Sub-minute microseconds |
'microsecond', 'us', 'usec', 'usecs', 'usecond', 'useconds' |
44123456 |
'millennium' |
Gregorian millennium |
'mil', 'millenniums', 'millenia', 'mils', 'millenium' |
3 |
'milliseconds' |
Sub-minute milliseconds |
'millisecond', 'ms', 'msec', 'msecs', 'msecond', 'mseconds' |
44123 |
'minute' |
Minutes |
'min', 'minutes', 'mins', 'm' |
59 |
'month' |
Gregorian month |
'mon', 'months', 'mons' |
8 |
'quarter' |
Quarter of the year (1-4) |
'quarters' |
3 |
'second' |
Seconds |
'sec', 'seconds', 'secs', 's' |
44 |
'year' |
Gregorian year |
'yr', 'y', 'years', 'yrs' |
2021 |
| Specifier |
Description |
Synonyms |
Example |
'dayofweek' |
Day of the week (Sunday = 0, Saturday = 6) |
'weekday', 'dow' |
2 |
'dayofyear' |
Day of the year (1-365/366) |
'doy' |
215 |
'epoch' |
Seconds since 1970-01-01 |
|
1627991984 |
'era' |
Gregorian era (CE/AD, BCE/BC) |
|
1 |
'isodow' |
ISO day of the week (Monday = 1, Sunday = 7) |
|
2 |
'isoyear' |
ISO Year number (Starts on Monday of week containing Jan 4th) |
|
2021 |
'timezone_hour' |
Time zone offset hour portion |
|
0 |
'timezone_minute' |
Time zone offset minute portion |
|
0 |
'timezone' |
Time zone offset in seconds |
|
0 |
'week' |
Week number |
'weeks', 'w' |
31 |
'yearweek' |
ISO year and week number in YYYYWW format |
|
202131 |
Note that the time zone parts are all zero unless a time zone plugin such as ICU
has been installed to support TIMESTAMP WITH TIME ZONE.
There are dedicated extraction functions to get certain subfields:
| Description |
Century. |
| Example |
century(date '1992-02-15') |
| Result |
20 |
| Description |
Day. |
| Example |
day(date '1992-02-15') |
| Result |
15 |
| Description |
Day (synonym). |
| Example |
dayofmonth(date '1992-02-15') |
| Result |
15 |
| Description |
Numeric weekday (Sunday = 0, Saturday = 6). |
| Example |
dayofweek(date '1992-02-15') |
| Result |
6 |
| Description |
Day of the year (starts from 1, i.e., January 1 = 1). |
| Example |
dayofyear(date '1992-02-15') |
| Result |
46 |
| Description |
Decade (year / 10). |
| Example |
decade(date '1992-02-15') |
| Result |
199 |
| Description |
Seconds since 1970-01-01. |
| Example |
epoch(date '1992-02-15') |
| Result |
698112000 |
| Description |
Calendar era. |
| Example |
era(date '0044-03-15 (BC)') |
| Result |
0 |
| Description |
Hours. |
| Example |
hour(timestamp '2021-08-03 11:59:44.123456') |
| Result |
11 |
| Description |
Numeric ISO weekday (Monday = 1, Sunday = 7). |
| Example |
isodow(date '1992-02-15') |
| Result |
6 |
| Description |
ISO Year number (Starts on Monday of week containing Jan 4th). |
| Example |
isoyear(date '2022-01-01') |
| Result |
2021 |
| Description |
Sub-minute microseconds. |
| Example |
microsecond(timestamp '2021-08-03 11:59:44.123456') |
| Result |
44123456 |
| Description |
Millennium. |
| Example |
millennium(date '1992-02-15') |
| Result |
2 |
| Description |
Sub-minute milliseconds. |
| Example |
millisecond(timestamp '2021-08-03 11:59:44.123456') |
| Result |
44123 |
| Description |
Minutes. |
| Example |
minute(timestamp '2021-08-03 11:59:44.123456') |
| Result |
59 |
| Description |
Month. |
| Example |
month(date '1992-02-15') |
| Result |
2 |
| Description |
Quarter. |
| Example |
quarter(date '1992-02-15') |
| Result |
1 |
| Description |
Seconds. |
| Example |
second(timestamp '2021-08-03 11:59:44.123456') |
| Result |
44 |
| Description |
Time zone offset hour portion. |
| Example |
timezone_hour(date '1992-02-15') |
| Result |
0 |
| Description |
Time zone offset minutes portion. |
| Example |
timezone_minute(date '1992-02-15') |
| Result |
0 |
| Description |
Time Zone offset in minutes. |
| Example |
timezone(date '1992-02-15') |
| Result |
0 |
| Description |
ISO Week. |
| Example |
week(date '1992-02-15') |
| Result |
7 |
| Description |
Numeric weekday synonym (Sunday = 0, Saturday = 6). |
| Example |
weekday(date '1992-02-15') |
| Result |
6 |
| Description |
ISO Week (synonym). |
| Example |
weekofyear(date '1992-02-15') |
| Result |
7 |
| Description |
Year. |
| Example |
year(date '1992-02-15') |
| Result |
1992 |
| Description |
BIGINT of combined ISO Year number and 2-digit version of ISO Week number. |
| Example |
yearweek(date '1992-02-15') |
| Result |
199207 |