2012-09-09 9 views
54

sto memorizzazione di un DATETIME campo in una tabella. Dopo aver memorizzato il valore la sua venuta come 2012-09-09 06:57:12.Come parte relativa alla data e l'ora dal DATETIME in MySQL

Per la memorizzazione sto usando la sintassi:

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

Ora la mia domanda è, durante il recupero dei dati, come si può ottenere sia data e l'ora separata, utilizzando la singola query MySQL.

Data come 2012-09-09 e ora come 06:57:12.

+0

probabilmente siete alla ricerca di 'date_format' e non' 'e date' TIME' perché ti darà la data predefinita se stai cercando il tempo e il tempo predefinito se stai cercando una data, vedi la mia risposta qui sotto. –

risposta

90

È possibile ottenere che l'utilizzo DATE_FORMAT() (fare clic sul link per maggiori altri formati)

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

SQLFiddle Demo

+0

Ciao, come ottenere il valore ?? posso usare 'echo DATEONLY' per la data di stampa e' echo TIMEONLY' per stampare l'ora ?? O cosa?? –

+0

@MissRosy yes, puoi usare il loro alias (* es. DATEONLY e TIMEONLY *) per ottenere i valori desiderati. –

+2

@MissRosy [clicca il link per la dimostrazione] (http://sqlfiddle.com/#!2/d41d8/1853) –

13

Prova:

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

questo non otterrà 'DATE' e' TIME' solo come richiesto dall'utente. Darà l'intera data e ora con le sue impostazioni predefinite. [VENDO QUESTO LINK] (http://sqlfiddle.com/#!2/d41d8/1845) –

+1

si genererà 'Settembre 09 2012 00: 00: 00-0400' per * DATA * e' gennaio 01 1970 03 : 20: 38-0500' per * tEMPO * –

+2

bene, come per query dà 2012-09-09 come date_part e 06:57:12 come parte volta a mysql –

30

per la documentazione di MySQL, il La funzione DATE() estrae la parte di data di un campo di tipo datetime, e TIME() per la porzione del tempo. quindi vorrei provare:

select DATE(dateTimeFeild) as Date, TIME(dateTimeFeild) as Time, col2, col3, FROM Table1 ... 
-3

Solo per uso data
date("Y-m-d");

e per l'uso a solo
date("H:i:s");

+4

hey, siete dando la soluzione di un php non :) di sql – maq

Problemi correlati