過濾今天的記錄。我在那記錄了日期時間這樣的時間戳字段MySQL表:CURRENT_TIMESTAMPMySQL的時間戳,where子句在PHP
我只是希望有一個查詢來限制今天的所有記錄,
SELECT (*) FROM mytable WHERE stampfield = CURDUTE()
我試過CURDATE()但沒有工作!
我在表中有另一個字段日期和CURDATE()工作正常,但與此時間戳字段它不工作!
先進的感謝
過濾今天的記錄。我在那記錄了日期時間這樣的時間戳字段MySQL表:CURRENT_TIMESTAMPMySQL的時間戳,where子句在PHP
我只是希望有一個查詢來限制今天的所有記錄,
SELECT (*) FROM mytable WHERE stampfield = CURDUTE()
我試過CURDATE()但沒有工作!
我在表中有另一個字段日期和CURDATE()工作正常,但與此時間戳字段它不工作!
先進的感謝
時間戳字段顯然包括一個時間值。 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();
代替。
感謝馬克的信息,它的工作:) – MikeDerik 2014-08-28 15:27:22
你需要提取的日期部分從時間戳,一種方法是使用DATE
:
SELECT (*)
FROM mytable
WHERE DATE(stampfield) = CURDATE()
因爲時間戳和日期是不一樣的字段類型。 – Daan 2014-08-28 14:52:52