SUBDATE(NOW(), INTERVAL 3 MONTH) AS retrait_positif;
SELECT DATE_ADD(NOW(), INTERVAL 4 HOUR) AS ajout_positif,
DATE_SUB(NOW(), INTERVAL -4 HOUR) AS retrait_negatif;
SELECT NOW() + INTERVAL -15 MINUTE AS ajout_negatif, NOW() -
INTERVAL 15 MINUTE AS retrait_positif;
ajout_negatif
retrait_positif
2011-09-01 16:04:26 2011-09-01 16:04:26
ajout_positif
retrait_negatif
2011-12-01 20:04:26 2011-12-01 20:04:26
ajout_negatif
retrait_positif
2011-12-01 15:49:28 2011-12-01 15:49:28
Divers
Créer une date/heure à partir d'autres informations
À partir d'un timestamp Unix
La fonction FROM_UNIXTIME(ts) renvoie un DATETIME à partir du timestamp Unix ts.
Code : SQL
SELECT FROM_UNIXTIME(1325595287);
FROM_UNIXTIME(1325595287)
2012-01-03 13:54:47
Notez que la fonction UNIX_TIMESTAMP(), que nous avons vue lors d'un chapitre précédent et qui donne le timestamp
actuel, peut également s'utiliser avec un DATETIME en paramètre ; dans ce cas, elle fait l'inverse de la fonction
FROM_UNIXTIME(ts) : elle renvoie le timestamp Unix du DATETIME passé en paramètre.
Code : SQL
SELECT UNIX_TIMESTAMP('2012-01-03 13:54:47');
UNIX_TIMESTAMP('2012-01-03 13:54:47')
1325595287
À partir de différents éléments d'une date/heure
La fonction MAKEDATE() crée une DATE à partir d'une année et d'un numéro de jour (1 étant le premier janvier, 32 le premier
février, etc.). Quant à la fonction MAKETIME(), elle crée un TIME à partir d'une heure et d'un nombre de minutes et de
secondes.
Code : SQL
SELECT MAKEDATE(2012, 60) AS 60eJour2012, MAKETIME(3, 45, 34) AS
Partie 4 : Fonctions : manipuler les dates
211/414
www.openclassrooms.com
Précédent

- 211/413

Suivant