Manipulation de dates
En MySQL, il est possible de manipuler des dates. On dispose pour cela de fonctions et de mots clés.
Les fonctions
| Fonction | Description |
| NOW() | Envoi la date heure du client host sous forma datetime |
| CURDATE() | Envoi la date courrante de l’host sous format date |
| CURTIME() | Envoi l’heure complete courrante de l’host sous format time |
| YEAR() | Envoi l’année courrante de l’host Il est possible de donner un parametre à YEAR() |
| MONTH() | Envoi le mois courrant de l’host Il est possible de donner un parametre à MONTH() |
| DAY() / DAYOFMONTH() | Envoi le jour courrant de l’host Il est possible de donner un parametre à DAY() |
| DAYNAME() | Envoi le jour en lettre de l’host, en Anglais Il est possible de donner un parametre à DAYNAME() |
| HOUR() | Envoi l’heure courrante de l’host Il est possible de donner un parametre à HOUR() |
| MINUTE() | Envoi les minutes courrante de l’host Il est possible de donner un parametre à MINUTE() |
| SECOND() | Envoi les secondes courrante de l’host Il est possible de donner un parametre à SECOND() |
Les mots clés
Parmis les mots clés de manipulation de date, il y a celles qui permettent d’ajouter ou soustraire du temps à une date
DATE {+|-} INTERVAL quantité {MINUTE|SECOND|HOUR|MONTH|YEAR|YEAR_MONTH|}
Notes
Le INTERVAL permet de garder le format DATETIME. si on fait un NOW() +INTERVAL 5 DAY +3 MINUTE, on obtiendra un date time NON formaté.
Pour les formats HOUR_MINUTE par exemple, il faut envoyer une valeur formattée : pour un HOUR_MINUTE : ‘hh:ii’. Le ‘:’ pouvant etre un autre caractere.
ATTENTION :
mysql> SELECT NOW(), NOW() +INTERVAL '03430' HOUR_MINUTE; +---------------------+-------------------------------------+ | NOW() | NOW() +INTERVAL '03430' HOUR_MINUTE | +---------------------+-------------------------------------+ | 2008-02-06 11:52:42 | 2008-02-08 21:02:42 | +---------------------+-------------------------------------+ 1 row in set (0.01 sec) mysql> SELECT NOW(), NOW() +INTERVAL '03 30' HOUR_MINUTE; +---------------------+-------------------------------------+ | NOW() | NOW() +INTERVAL '03 30' HOUR_MINUTE | +---------------------+-------------------------------------+ | 2008-02-06 11:52:46 | 2008-02-06 15:22:46 | +---------------------+-------------------------------------+ 1 row in set (0.00 sec)

Commentaires récents