Preamble
PostgreSQL extract function extracts parts from the date.
Syntax of the extract function in PostgreSQL
extract( unit from date )
Parameters and function arguments
- date – date, timestamp, time, or interval value from which a part of the date is to be extracted.
- Unit – Type of the unit of interval measurement, such as day, month, minute, hour, etc. This may be one of the following:
unit
|
Explanation
|
---|---|
century
|
Uses the Gregorian calendar, where the first century begins with ‘0001-01-01 00:00:00 AD’.
|
day
|
day of the month (1 to 31)
|
decade
|
The year is divided by 10
|
dow
|
day per week (0=Sunday, 1=Monday, 2=Tuesday,… 6=Saturday)
|
doy
|
day of the week in a year (1 = first day of the year, 365/366 = last day of the year, depending on whether it is a leap year)
|
epoch
|
Number of seconds from ‘1970-01-01 00:00:00 UTC’ if the date value. The number of seconds in an interval, if the value is an interval.
|
hour
|
hour (0 to 23)
|
isodow
|
day of the week (1=Monday, 2=Tuesday, 3=Wednesday,… 7=Sunday)
|
isoyear
|
ISO 8601 (where the year begins on Monday of the week containing January 4)
|
microseconds
|
Seconds (and fractions of a second) multiplied by 1,000,000
|
millennium
|
millennium significance
|
milliseconds
|
Seconds (and fractions of a second) multiplied by 1000
|
minute
|
minute (0 to 59)
|
month
|
month number for the month (from 1 to 12), if the date value. Number of months (from 0 to 11), if the value of the interval
|
quarter
|
a quarter (1 to 4)
|
second
|
seconds (and fractions of a second)
|
timezone
|
Time zone offset from UTC, expressed in seconds
|
timezone_hour
|
Time zone offset from UTC
|
timezone_minute
|
Minute time zone offset from UTC
|
week
|
Weekly number of the year based on ISO 8601 (where the year starts on Monday of the week containing January 4)
|
the year
|
year as 4 digits
|
The extract function can be used in future versions of PostgreSQL
PostgreSQL 11, PostgreSQL 10, PostgreSQL 9.6, PostgreSQL 9.5, PostgreSQL 9.4, PostgreSQL 9.3, PostgreSQL 9.2, PostgreSQL 9.1, PostgreSQL 9.0, PostgreSQL 8.4.
|
Let’s look at some examples of extract functions to see how to use the extract function in PostgreSQL with date values
For example:
SELECT extract(day from date '2019-04-23');
--Result: 25
SELECT extract(month from date '2019-04-23');
--Result: 4
SELECT extract(year from date '2019-04-23');
--Result: 2019
Let’s see how to use the extract function in PostgreSQL with timestamp values.
For example:
SELECT extract(day from timestamp '2019-04-23 08:44:21');
--Result: 23
SELECT extract(month from timestamp '2019-04-23 08:44:21');
--Result: 4
SELECT extract(minute from timestamp '2019-04-23 08:44:21');
--Result: 44
SELECT extract(hour from timestamp '2019-04-23 08:44:21');
--Result: 8
Let’s see how to use the extract function in PostgreSQL with time values.
For example:
SELECT extract(minute from time '08:44:21');
--Result: 44
SELECT extract(milliseconds from time '08:44:21.7');
--Result: 21700
Let’s see how to use the extract function in PostgreSQL with interval values.
For example:
SELECT extract(day from interval '5 days 3 hours');
--Result: 5
SELECT extract(hour from interval '5 days 3 hours');
--Result: 3
About Enteros
Enteros offers a patented database performance management SaaS platform. It proactively identifies root causes of complex business-impacting database scalability and performance issues across a growing number of clouds, RDBMS, NoSQL, and machine learning database platforms.
The views expressed on this blog are those of the author and do not necessarily reflect the opinions of Enteros Inc. This blog may contain links to the content of third-party sites. By providing such links, Enteros Inc. does not adopt, guarantee, approve, or endorse the information, views, or products available on such sites.
Are you interested in writing for Enteros’ Blog? Please send us a pitch!
RELATED POSTS
Optimizing Database Performance with Enteros: Leveraging Cloud FinOps and Observability for the Financial Sector
- 23 December 2024
- Database Performance Management
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…
Enteros: Enhancing Database Security Cost Management with RevOps and AIOps for the Insurance Sector
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…
Enteros: Revolutionizing Database Performance with AIOps, RevOps, and DevOps for the Insurance Sector
- 20 December 2024
- Database Performance Management
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…
Enteros: Transforming Database Software with Cloud FinOps for the Technology Sector
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…