2014-08-28 48 views
0

過濾今天的記錄。我在那記錄了日期時間這樣的時間戳字段MySQL表:CURRENT_TIMESTAMPMySQL的時間戳,where子句在PHP

我只是希望有一個查詢來限制今天的所有記錄,

SELECT (*) FROM mytable WHERE stampfield = CURDUTE() 

我試過CURDATE()但沒有工作!

我在表中有另一個字段日期和CURDATE()工作正常,但與此時間戳字段它不工作!

先進的感謝

+0

因爲時間戳和日期是不一樣的字段類型。 – Daan 2014-08-28 14:52:52

回答

1

時間戳字段顯然包括一個時間值。 curdate()不。由於您正在使用date+time v.s. date,PHP會自動延長您的日期值以使其有0個時間值。

curdate() = '2014-08-28' 
timestamp = '2014-08-28 12:34:45' 

timestamp = curdate() -> '2014-08-28 00:00:00' = '2014-08-28 12:34:45' - > false 

嘗試

date(timestampfield) = curdate(); 

代替。

+0

感謝馬克的信息,它的工作:) – MikeDerik 2014-08-28 15:27:22

0

你需要提取的日期部分從時間戳,一種方法是使用DATE

SELECT (*) 
FROM mytable 
WHERE DATE(stampfield) = CURDATE()