2016-03-28 54 views
0

如何從數據庫中獲取日期時間但沒有小時和分鐘? 數據庫中的格式例如2016-03-28 15:55:00如果我輸入SQL格式y-m-d,我想獲得這條記錄。PHP從數據庫中獲取日期時間,無需小時/分鐘?

+2

使用MySQL的'DATE ()'function –

+0

'SELECT DATE(datetime_column)AS theDate FROM theTable' – mitkosoft

+0

hmm not working .. 'select date(column)from table where column ='2016-03-28' – Demolog

回答

1

你沒有提到你正在使用的RDBMS。我認爲它必須是MySQL或SQL Server。

MySQL的:

這裏的手冊中的docoumentation:DATE()

你可以使用它作爲這樣的(圖):

SELECT DATE('2003-12-31 01:02:03') 

這將產生你:2003-12-31

希望這有助於!

編輯:我知道你想對它應用過濾(即WHERE子句)。這是單向的,你可以做到。

您可以使用此:

SELECT DATE(COLUMN_NAME) 
FROM TABLE_NAME 
WHERE DATE_FORMAT(COLUMN_NAME, '%Y %m %d') = DATE_FORMAT('2016-03-28', '%Y %m %d') 

你可以看看這個小提琴這裏 - >SQL Fiddle

希望這有助於!

+0

雅,但我必須使用條件where,例如SELECT DATE(column)from table where'column ='Y-m-d' – Demolog

+0

@Demolog我編輯了我的答案。一探究竟。 –

+0

值得注意的是,您應該儘可能使用PHP來進行日期格式化,並使用MySQL本機格式進行其他任何操作。格式化是一個演示問題,不應該在數據庫代碼中完成,只能在完成最終呈現的PHP中完成。 – tadman

0

你可以使用這個SQL語句:

SELECT date(dateTime) From table 
2

你會在where子句中使用date()

where date(col) = '2016-03-28' 

或者說,什麼是有利於保證性能(因爲發動機可以使用,如果使用一個索引):

where date >= '2016-03-28' and 
     date < date_add('2016-03-28', interval 1 day) 
+0

它的工作;) – Demolog

相關問題