Problema:
Você gostaria de obter o ano de uma coluna de data/data e hora em um banco de dados MySQL.
Exemplo:
Nosso banco de dados tem uma tabela chamada
conference com dados nas colunas id , name e start_datetime . | id | nome | start_datetime |
|---|---|---|
| 1 | Mundo de mídia social | 2019-02-20 14:15:34 |
| 2 | Mobile World 2017 | 2017-08-31 20:10:14 |
| 3 | Mostra de Eletrônicos | 2018-04-03 10:05:45 |
| 4 | Tecnologia Ásia 2019 | 2019-01-01 12:47:54 |
Para cada conferência, vamos obter seu nome e ano. Precisamos obter somente o ano a partir do
start_datetime coluna. Solução:
Usaremos o
YEAR() função. Aqui está a consulta que você escreveria:
SELECT name,
YEAR(start_datetime)
AS year_of_conference
FROM conference;
Segue o resultado da consulta:
| nome | year_of_conference |
|---|---|
| Mundo da mídia social | 2019 |
| Mundo Móvel 2017 | 2017 |
| Mostra de Eletrônicos | 2018 |
| Tecnologia Ásia 2019 | 2019 |
Discussão:
Use o
YEAR() função para recuperar o valor do ano de uma coluna date/datetime/timestamp no MySQL. Esta função recebe apenas um argumento – uma data ou data e hora. Este pode ser o nome de uma coluna de data/data/hora/timestamp ou uma expressão que retorna um desses tipos de dados. (No nosso exemplo, é a coluna start_datetime do tipo de dados de data.) YEAR() retorna o ano como um número inteiro de 1000 a 9999. O 'Social Media World' a data de início da conferência é '2019-02-20 14:15:34' , então YEAR() retornou '2019' para este registro.