En ce qui concerne l'heure, voici quatre fonctions intéressantes (et faciles à retenir) qui s'appliquent à une donnée de type
DATETIME ou TIME:
TIME(datetime) : qui extrait l'heure complète (le TIME) ;
HOUR(heure) : qui extrait l'heure ;
MINUTE(heure) : qui extrait les minutes ;
SECOND(heure) : qui extrait les secondes.
Code : SQL
SELECT nom, date_naissance,
TIME(date_naissance) AS time_complet,
HOUR(date_naissance) AS heure,
MINUTE(date_naissance) AS minutes,
SECOND(date_naissance) AS secondes
FROM Animal
WHERE espece_id = 4;
nom
date_naissance
time_complet heure minutes secondes
Safran 2007-03-04 19:36:00 19:36:00
19
36
0
Gingko 2008-02-20 02:50:00 02:50:00
2
50
0
Bavard 2009-03-26 08:28:00 08:28:00
8
28
0
Parlotte 2009-03-26 07:55:00 07:55:00
7
55
0
Formater une date facilement
Avec les fonctions que nous venons de voir, vous êtes maintenant capables d'afficher une date dans un joli format, par exemple
"le lundi 8 novembre 1987".
Code : SQL
SELECT nom, date_naissance, CONCAT_WS(' ', 'le',
DAYNAME(date_naissance), DAY(date_naissance),
MONTHNAME(date_naissance), YEAR(date_naissance)) AS jolie_date
FROM Animal
WHERE espece_id = 4;
nom
date_naissance
jolie_date
Safran 2007-03-04 19:36:00 le dimanche 4 mars 2007
Gingko 2008-02-20 02:50:00 le mercredi 20 février 2008
Bavard 2009-03-26 08:28:00 le jeudi 26 mars 2009
Parlotte 2009-03-26 07:55:00 le jeudi 26 mars 2009
Cependant, il faut bien avouer que c'est un peu long à écrire. Heureusement, il existe une fonction qui va nous permettre de faire
la même chose, en bien plus court : DATE_FORMAT(date, format).
Cette fonction DATE_FORMAT() a donc deux paramètres :
date : la date à formater (DATE, TIME ou DATETIME) ;
format : le format voulu.
Format
Partie 4 : Fonctions : manipuler les dates
201/414
www.openclassrooms.com
DATETIME ou TIME:
TIME(datetime) : qui extrait l'heure complète (le TIME) ;
HOUR(heure) : qui extrait l'heure ;
MINUTE(heure) : qui extrait les minutes ;
SECOND(heure) : qui extrait les secondes.
Code : SQL
SELECT nom, date_naissance,
TIME(date_naissance) AS time_complet,
HOUR(date_naissance) AS heure,
MINUTE(date_naissance) AS minutes,
SECOND(date_naissance) AS secondes
FROM Animal
WHERE espece_id = 4;
nom
date_naissance
time_complet heure minutes secondes
Safran 2007-03-04 19:36:00 19:36:00
19
36
0
Gingko 2008-02-20 02:50:00 02:50:00
2
50
0
Bavard 2009-03-26 08:28:00 08:28:00
8
28
0
Parlotte 2009-03-26 07:55:00 07:55:00
7
55
0
Formater une date facilement
Avec les fonctions que nous venons de voir, vous êtes maintenant capables d'afficher une date dans un joli format, par exemple
"le lundi 8 novembre 1987".
Code : SQL
SELECT nom, date_naissance, CONCAT_WS(' ', 'le',
DAYNAME(date_naissance), DAY(date_naissance),
MONTHNAME(date_naissance), YEAR(date_naissance)) AS jolie_date
FROM Animal
WHERE espece_id = 4;
nom
date_naissance
jolie_date
Safran 2007-03-04 19:36:00 le dimanche 4 mars 2007
Gingko 2008-02-20 02:50:00 le mercredi 20 février 2008
Bavard 2009-03-26 08:28:00 le jeudi 26 mars 2009
Parlotte 2009-03-26 07:55:00 le jeudi 26 mars 2009
Cependant, il faut bien avouer que c'est un peu long à écrire. Heureusement, il existe une fonction qui va nous permettre de faire
la même chose, en bien plus court : DATE_FORMAT(date, format).
Cette fonction DATE_FORMAT() a donc deux paramètres :
date : la date à formater (DATE, TIME ou DATETIME) ;
format : le format voulu.
Format
Partie 4 : Fonctions : manipuler les dates
201/414
www.openclassrooms.com
