Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como obter o ano de uma coluna de data e hora no MySQL

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.