9
EXTRACT(field FROM source)
11
The EXTRACT function retrieves subfields such as day or hour from date/time values. The source value has to be a value expression of type *timestamp*, *time*, *date*, or *interval*.
13
*Field* is an identifier or string that identifies the field to extract from the source value. The extract function returns values of type *double precision*.
18
The following field names are available:
25
SELECT EXTRACT(DAY FROM TIMESTAMP '2011-02-16 20:38:40');
36
SELECT EXTRACT(DECADE FROM TIMESTAMP '2001-02-16 20:38:40');
38
The year, divided by 10.
47
SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40');
49
The day of the week (Sunday is 0, Saturday is 6)
58
SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40');
60
The day of the year (1 - 365/366)
69
SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');
71
The hour field (0 - 23)
80
SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40');
82
The minutes field (0 - 59)
89
For timestamp values, the number of the month within the year (1 - 12).
90
For interval values, the number of months (0 - 11).
94
SELECT EXTRACT(MONTH FROM TIMESTAMP '2010-12-29 08:45:27');
100
SELECT EXTRACT(MONTH FROM INTERVAL '3 years 4 months');
104
.. code-block:: mysql
106
SELECT EXTRACT(MONTH FROM INTERVAL '3 years 13 months');
113
.. code-block:: mysql
115
SELECT EXTRACT(QUARTER FROM TIMESTAMP '2010-12-29 08:45:27');
117
The quarter of the year (1 - 4) containing the date.
124
.. code-block:: mysql
126
SELECT EXTRACT(SECOND FROM TIMESTAMP '2010-12-29 08:45:27');
128
The seconds field, including fractional parts (0 - 59)
135
The time zone offset from UTC, measured in seconds.
140
Returns the week number that a day is in. Weeks are numbered according to ISO 8601:1988.
142
ISO 8601:1988 means that if the week containing January 1 has four or more days in the new year, then it is week 1; otherwise it is the last week of the previous year, and the next week is week 1. The ISO-8601 week starts on Monday.
144
It's possible for early January dates to be part of the 52nd or 53rd week of the previous year. For example, 2011-01-01 was part of the 52nd week of year 2010.
146
.. code-block:: mysql
148
SELECT EXTRACT(WEEK FROM TIMESTAMP '2010-01-25 12:44:06');
155
.. code-block:: mysql
157
SELECT EXTRACT(YEAR FROM TIMESTAMP '2009-02-16 20:38:40');