Qui peut le plus, peut le moins
Il est tout à fait possible d'utiliser une des fonctions donnant l'heure et la date pour remplir une colonne de type DATE, ou de
type TIME. MySQL convertira simplement le DATETIME en DATE, ou en TIME, en supprimant la partie inutile.
Exemple
Créons une table de test simple, avec juste trois colonnes. Une de type DATE, une de type TIME, une de type DATETIME. On
peut voir que l'insertion d'une ligne en utilisant NOW() pour les trois colonnes donne le résultat attendu.
Code : SQL
-- Création d'une table de test toute simple
CREATE TABLE testDate (
dateActu DATE,
timeActu TIME,
datetimeActu DATETIME
);
INSERT INTO testDate VALUES (NOW(), NOW(), NOW());
SELECT *
FROM testDate;
dateActu timeActu
datetimeActu
2011-10-26 11:22:10 2011-10-26 11:22:10
Timestamp Unix
Il existe encore une fonction qui peut donner des informations sur la date et l'heure actuelle, sous forme de timestamp Unix ; ce
qui est donc le nombre de secondes écoulées depuis le premier janvier 1970, à 00:00:00. Il s'agit de UNIX_TIMESTAMP().
Je vous la donne au cas où, mais j'espère que vous ne vous en servirez pas pour stocker vos dates sous forme d'INT avec un
timestamp Unix !
Code : SQL
SELECT UNIX_TIMESTAMP();
UNIX_TIMESTAMP()
1319621754
En résumé
La date du jour peut s'obtenir avec CURDATE() et CURRENT_DATE().
L'heure actuelle peut s'obtenir avec CURTIME() et CURRENT_TIME().
L'heure et la date actuelles peuvent s'obtenir avec NOW(), SYSDATE(), LOCALTIME(), CURRENT_TIMESTAMP(),
LOCALTIMESTAMP().
On peut insérer un DATETIME dans une colonne DATE ou TIME. MySQL ôtera la partie inutile.
Partie 4 : Fonctions : manipuler les dates
197/414
www.openclassrooms.com
Précédent

- 197/413

Suivant