PostgreSQL EXTRACT() Function
Summary: in this tutorial, you will learn how to use the PostgreSQL EXTRACT()
function to extract a field such as a year, month, and day from a date/time value.
Introduction to PostgreSQL EXTRACT() function
The EXTRACT()
function extracts a field from a date/time value. Here’s the basic syntax of the EXTRACT()
function:
The PostgreSQL EXTRACT()
function requires two arguments:
1) field
The field argument specifies which information you want to extract from the date/time value.
The following table illustrates the valid field values:
Field Value | TIMESTAMP | Interval |
---|---|---|
CENTURY | The century | The number of centuries |
DAY | The day of the month (1-31) | The number of days |
DECADE | The decade that is the year field divided by 10 | |
DOW | The day of the week (Sunday (0), Monday (1) … Saturday (6)). | N/A |
DOY | The day of the year (1-365/366) | N/A |
EPOCH | The number of seconds since 1970-01-01 00:00:00 UTC | The total number of seconds in the interval |
HOUR | The hour (0-23) | The number of hours |
ISODOW | The day of the week, Monday (1) to Sunday (7) | N/A |
ISOYEAR | The ISO 8601 week number of year | N/A |
MICROSECONDS | The second field, including fractional parts, multiplied by 1000000 | Sames as TIMESTAMP |
MILLENNIUM | The millennium | The number of millennium |
MILLISECONDS | The second field, including fractional parts, multiplied by 1000 | Sames as TIMESTAMP |
MINUTE | The minute (0-59) | The number of minutes |
MONTH | The month 1-12 | The number of months, modulo (0-11) |
QUARTER | The quarter of the year (1 – 4) | The number of quarters |
SECOND | The second field, including any fractional seconds | The number of seconds |
TIMEZONE | The timezone offset from UTC, measured in seconds | N/A |
TIMEZONE_HOUR | The hour component of the time zone offset | N/A |
TIMEZONE_MINUTE | The minute component of the time zone offset | N/A |
WEEK | The number of the ISO 8601 week-numbering week of the year | N/A |
YEAR | The year | Sames as TIMESTAMP |
2) source
The source
is a value of type TIMESTAMP
 or INTERVAL
. If you pass a DATE
value, the function will cast it to a TIMESTAMP
value.
The EXTRACT()
function returns a double precision value.
PostgreSQL EXTRACT function examples
Let’s explore some examples of using the EXTRACT()
function.
1) Basic PostgreSQL EXTRACT() function examples
The following example uses the EXTRACT()
function to extract the year from a timestamp:
Output:
The following example uses the EXTRACT()
function to extract the quarter from a timestamp:
Output:
The following example uses the EXTRACT()
function to extract the month from a timestamp:
Output:
The following example uses the EXTRACT()
function to extract the day from a timestamp:
Output:
The following example uses the EXTRACT()
function to extract the century from a timestamp:
Output:
The following example uses the EXTRACT()
function to extract the decade from a timestamp:
The following is the result:
The following example uses the EXTRACT()
function to extract the day of the week from a timestamp:
The result is:
The following example uses the EXTRACT()
function to extract the day of the year from a timestamp:
It returned 366:
The following example uses the EXTRACT()
function to extract the epoch from a timestamp:
The result is:
The following example uses the EXTRACT()
function to extract the hour from a timestamp:
Result:
The following example uses the EXTRACT()
function to extract the minute from a timestamp:
Here is the result:
The following example uses the EXTRACT()
function to extract the second from a timestamp:
The result includes second and its fractional seconds:
The following example uses the EXTRACT()
function to extract the weekday according to ISO 8601:
Output:
The following example uses the EXTRACT()
function to extract the millisecond from a timestamp:
The result is 15 * 1000 = 15000
The following example uses the EXTRACT()
function to extract the microseconds from a timestamp:
The result is 15 * 1000000 = 15000000
2) Extracting from an interval examples
The following example uses the EXTRACT()
function to extract the year from an interval:
Result:
The following example uses the EXTRACT()
function to extract the quarter from an interval:
Result:
The following example uses the EXTRACT()
function to extract the month from an interval:
Result:
The following example uses the EXTRACT()
function to extract the day from an interval:
Result:
The following example uses the EXTRACT()
function to extract the hour from an interval:
Result:
The following example uses the EXTRACT()
function to extract the minute from an interval:
Result:
The following example uses the EXTRACT()
function to extract the second from an interval:
Result:
The following example uses the EXTRACT()
function to extract the millisecond from an interval:
Result:
The following example uses the EXTRACT()
function to extract the microsecond from an interval:
Result:
The following example uses the EXTRACT()
function to extract the decade from an interval:
Result:
The following example uses the EXTRACT()
function to extract the millennium from an interval:
Result:
The following example uses the EXTRACT()
function to extract the century from an interval:
Result:
Summary
- Use the PostgreSQL
EXTRACT()
function to extract a field from a date/time or interval value.