web-dev-qa-db-fra.com

Comment séparer DATE et TIME de DATETIME dans MySQL

Je stocke un champ DATETIME dans une table. Après avoir stocké la valeur, elle arrive comme 2012-09-09 06:57:12.

Pour stocker, j'utilise la syntaxe:

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

Maintenant, ma question est, lors de la récupération des données, comment obtenir les deux date et heure séparées, en utilisant la requête MySQL unique.

Date comme 2012-09-09 et heure comme 6:57:12.

73
Miss Rosy

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

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

Démo SQLFiddle

116
John Woo

selon la documentation mysql, la fonction DATE () extraira la partie date d'un fichier datetime et TIME () pour la partie heure. alors j'essayerais:

select DATE(dateTimeFeild) as Date, TIME(dateTimeFeild) as Time, col2, col3, FROM Table1 ...
46
Frank Thomas

Essayer:

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