Resumo : neste tutorial, você aprenderá como usar a EXTRACT()
função MySQL para extrair parte de um valor DATE
ou DATETIME
.
Introdução à função MySQL EXTRACT()
A EXTRACT()
função extrai parte de uma data. O seguinte ilustra a sintaxe da EXTRACT()
função.
EXTRACT(unit FROM date)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A EXTRACT()
função requer dois argumentos unit
e date
.
O unit
é o intervalo que você deseja extrair do arquivo date
. A seguir estão os intervalos válidos para o unit
argumento.
- DIA
- DIA_HORA
- DIA_MICROSECOND
- DIA_MINUTE
- DIA_SEGUNDO
- HORA
- HORA_MICROSEGUNDO
- HORA_MINUTE
- HORA_SEGUNDO
- MICROSSEGUNDO
- MINUTO
- MINUTE_MICROSECOND
- MINUTE_SECOND
- MÊS
- TRIMESTRE
- SEGUNDO
- SECOND_MICROSECOND
- SEMANA
- ANO
- ANO MÊS
O date
é um valor DATE
ou DATETIME
do qual você extrai um intervalo.
Exemplos de funções MySQL EXTRACT()
Extraia o dia de uma data e hora:
mysql> SELECT EXTRACT(DAY FROM '2017-07-14 09:04:44') DAY;
+------+
| DAY |
+------+
| 14 |
+------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia day_hour de um datetime:
mysql> SELECT EXTRACT(DAY_HOUR FROM '2017-07-14 09:04:44') DAYHOUR;
+---------+
| DAYHOUR |
+---------+
| 1409 |
+---------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia day_microsecond de um datetime:
mysql> SELECT EXTRACT(DAY_MICROSECOND FROM '2017-07-14 09:04:44') DAY_MS;
+----------------+
| DAY_MS |
+----------------+
| 14090444000000 |
+----------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia day_minuto de uma data e hora:
mysql> SELECT EXTRACT(DAY_MINUTE FROM '2017-07-14 09:04:44') DAY_M;
+--------+
| DAY_M |
+--------+
| 140904 |
+--------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia day_second de um datetime
mysql> SELECT EXTRACT(DAY_SECOND FROM '2017-07-14 09:04:44') DAY_S;
+----------+
| DAY_S |
+----------+
| 14090444 |
+----------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia a hora de uma data e hora:
mysql> SELECT EXTRACT(HOUR FROM '2017-07-14 09:04:44') HOUR;
+------+
| HOUR |
+------+
| 9 |
+------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia hour_microsecond de um datetime:
mysql> SELECT EXTRACT(HOUR_MICROSECOND FROM '2017-07-14 09:04:44') HOUR_MS;
+-------------+
| HOUR_MS |
+-------------+
| 90444000000 |
+-------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia hora_minuto de uma data e hora:
mysql> SELECT EXTRACT(HOUR_MINUTE FROM '2017-07-14 09:04:44') HOUR_M;
+--------+
| HOUR_M |
+--------+
| 904 |
+--------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia hour_second de um datetime:
mysql> SELECT EXTRACT(HOUR_SECOND FROM '2017-07-14 09:04:44') HOUR_S;
+--------+
| HOUR_S |
+--------+
| 90444 |
+--------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia microssegundos de uma data e hora:
mysql> SELECT EXTRACT(MICROSECOND FROM '2017-07-14 09:04:44') MICROSECOND;
+-------------+
| MICROSECOND |
+-------------+
| 0 |
+-------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia minutos de uma data e hora:
mysql> SELECT EXTRACT(MINUTE FROM '2017-07-14 09:04:44') MINUTE;
+--------+
| MINUTE |
+--------+
| 4 |
+--------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia minuto_microssegundo de uma data e hora:
mysql> SELECT EXTRACT(MINUTE_MICROSECOND FROM '2017-07-14 09:04:44') MINUTE_MS;
+-----------+
| MINUTE_MS |
+-----------+
| 444000000 |
+-----------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia minuto_segundo de uma data e hora:
mysql> SELECT EXTRACT(MINUTE_SECOND FROM '2017-07-14 09:04:44') MINUTE_S;
+----------+
| MINUTE_S |
+----------+
| 444 |
+----------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia o mês de uma data e hora:
mysql> SELECT EXTRACT(MONTH FROM '2017-07-14 09:04:44') MONTH;
+-------+
| MONTH |
+-------+
| 7 |
+-------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia um quarto de uma data e hora:
mysql> SELECT EXTRACT(QUARTER FROM '2017-07-14 09:04:44') QUARTER;
+---------+
| QUARTER |
+---------+
| 3 |
+---------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia o segundo de uma data e hora:
mysql> SELECT EXTRACT(SECOND FROM '2017-07-14 09:04:44') SECOND;
+--------+
| SECOND |
+--------+
| 44 |
+--------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia second_microsecond de um datetime:
mysql> SELECT EXTRACT(SECOND_MICROSECOND FROM '2017-07-14 09:04:44') SECOND_MS;
+-----------+
| SECOND_MS |
+-----------+
| 44000000 |
+-----------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia a semana de uma data e hora:
mysql> SELECT EXTRACT(WEEK FROM '2017-07-14 09:04:44') WEEK;
+------+
| WEEK |
+------+
| 28 |
+------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia o ano de uma data e hora:
mysql> SELECT EXTRACT(YEAR FROM '2017-07-14 09:04:44') YEAR;
+------+
| YEAR |
+------+
| 2017 |
+------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Extraia ano_mês de uma data e hora
mysql> SELECT EXTRACT(YEAR_MONTH FROM '2017-07-14 09:04:44') YEARMONTH;
+-----------+
| YEARMONTH |
+-----------+
| 201707 |
+-----------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste tutorial, você aprendeu como usar a EXTRACT()
função MySQL para extrair parte de um valor DATE
ou DATETIME
.