2011-05-04 61 views
1

我已經瀏覽了過去的問題 - 但找不到一個好的匹配。如何返回列時間戳在第X天的所有MySQL行,其中第X天包含在PHP變量中,格式如下:「2011年4月13日」,時間戳記在數據庫中的格式如下:「2011- 02-25 22:00:17「?在MySQL的某個日期返回行

SELECT * WHERE timestamp (need to add here) 

謝謝!

回答

2
SELECT * FROM tablename WHERE DATE_FORMAT(timestamp,'%e %b %Y') = 'date coming from php' 

(這是安德里的建議相反,它的時間戳轉換成字符串對比)

+0

輝煌!謝謝你,先生。 – Walker 2011-05-04 01:58:43

+0

你知道這是比較時間作爲字符串還是時間值? – 2011-05-04 02:19:34

+0

它作爲字符串比較 – 2011-05-04 11:05:53

3

如果日期字符串(在您的PHP變量中)具有一致的格式,您可以使用MySQL函數str_to_date將其轉換爲適合比較的DATETIME。

1

你需要的是STR_TO_DATE

SELECT * WHERE DATE(`timestamp`) = STR_TO_DATE('$var','%M %d %Y') 

here