101 votes

Comment séparer DATE et HEURE de DATETIME dans MySQL ?

Je stocke un DATETIME dans une table. Chaque valeur ressemble à quelque chose comme ceci :

2012-09-09 06:57:12

J'utilise cette syntaxe :

date("Y-m-d H:i:s");

Ma question est la suivante : lors de la récupération des données, comment obtenir à la fois la date et l'heure ? séparément en utilisant une seule requête MySQL ?

Date comme " 2012-09-09 "et le temps comme " 06:57:12 ".

155voto

John Woo Points 132738

Vous pouvez y parvenir en utilisant DATE_FORMAT() ( cliquez sur le lien pour d'autres formats )

SELECT DATE_FORMAT(colName, '%Y-%m-%d') DATEONLY, 
       DATE_FORMAT(colName,'%H:%i:%s') TIMEONLY

Démonstration de SQLFiddle

64voto

Frank Thomas Points 1090

D'après la documentation MySQL, l'option DATE() extrait la partie date d'un champ de type datetime, et la fonction TIME() pour la partie temps.

J'essaierais donc ce qui suit :

SELECT DATE(dateTimeField) as Date,
       TIME(dateTimeField) as Time
FROM Table1;

18voto

Sudhir Points 50854

Essayez :

SELECT DATE(`date_time_field`) AS date_part, TIME(`date_time_field`) AS time_part FROM `your_table`

0voto

Tout simplement,
SELECT TIME(nom_colonne), DATE(nom_colonne)

-2voto

Sohan Arafat Points 113

Un moyen facile serait :

Pour la date :

SELECT DATE(column_name) as mydate

Pour le temps :

SELECT DATE(column_name) as mytime

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X