2012-09-09 92 views
54

我在表中存儲了DATETIME字段。儲存後它的價值就像 2012-09-09 06:57:12如何在DATETIME中分配DATE和TIME

爲了存儲我使用的語法:

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

我現在的問題是,儘管獲取數據,怎樣才能既日期和時間分開,使用單MySQL查詢。

Date like like 2012-09-09 and time like 06:57:12

+0

可能是你正在尋找'DATE_FORMAT'而不是'DATE'和' TIME',因爲如果你正在尋找時間和默認時間,如果你正在尋找日期,它會給你默認的日期,請看下面的答案。 –

回答

90

可以實現,使用DATE_FORMAT()點擊更多其他格式鏈接)

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

SQLFiddle Demo

+0

嗨,如何獲得值?我可以使用'echo DATEONLY'打印日期和'echo TIMEONLY'打印時間?或者是什麼?? –

+0

@MissRosy是的,你可以使用他們的別名(*例如DATEONLY和TIMEONLY *)來獲取你想要的值。 –

+2

@MissRosy [點擊鏈接進行演示](http://sqlfiddle.com/#!2/d41d8/1853) –

13

嘗試:

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

這不會像用戶所要求的那樣得到'DATE'和'TIME'。它會給出整個日期和時間的默認值。 [銷售此鏈接](http://sqlfiddle.com/#!2/d41d8/1845) –

+1

它會在* DATE *和'1970年1月01日生成'September,09 2012 00:00:00-0400' 03 :20:38-0500'爲* TIME * –

+2

那麼,根據查詢它給出了2012-09-09作爲date_part和06:57:12作爲時間部分在mysql –

30

每mysql的文檔中, DATE()函數將拉日期時間的日期部分,和時間部分的TIME()。所以我會嘗試:

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

僅供日期使用
date("Y-m-d");

並且僅使用一次
date("H:i:s");

+4

嘿你給一個PHP的解決方案不sql的:) – maq

相關問題