Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment obtenir l'année à partir d'une colonne Datetime dans MySQL

Problème :

Vous souhaitez obtenir l'année à partir d'une colonne date/datetime dans une base de données MySQL.

Exemple :

Notre base de données contient une table nommée conference avec des données dans les colonnes id , name , et start_datetime .

identifiant nom start_datetime
1 Monde des réseaux sociaux 2019-02-20 14:15:34
2 Monde mobile 2017 2017-08-31 20:10:14
3 Salon de l'électronique 2018-04-03 10:05:45
4 Tech Asia 2019 2019-01-01 12:47:54

Pour chaque conférence, obtenons son nom et son année. Nous devrons obtenir seulement l'année à partir du start_datetime colonne.

Solution :

Nous utiliserons le YEAR() une fonction. Voici la requête que vous écririez :

SELECT name,
       YEAR(start_datetime) 
         AS  year_of_conference
FROM conference;

Voici le résultat de la requête :

nom année_de_conférence
Le monde des médias sociaux 2019
Monde mobile 2017 2017
Salon de l'électronique 2018
Tech Asia 2019 2019

Discussion :

Utilisez le YEAR() pour récupérer la valeur de l'année à partir d'une colonne date/datetime/timestamp dans MySQL. Cette fonction ne prend qu'un seul argument - une date ou une date et une heure. Il peut s'agir du nom d'une colonne date/dateheure/horodatage ou d'une expression renvoyant l'un de ces types de données. (Dans notre exemple, il s'agit de la colonne start_datetime du type de données de date.)

YEAR() renvoie l'année sous la forme d'un entier compris entre 1000 et 9999. Le 'Social Media World' la date de début de la conférence est '2019-02-20 14:15:34' , donc YEAR() renvoyé '2019' pour cet enregistrement.