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.