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.