我有带时间戳字段的mysql表,以这种方式记录日期时间:CURRENT_TIMESTAMP
我只想要一个查询来限制今天的所有记录,
SELECT (*) FROM mytable WHERE stampfield = CURDUTE()
我尝试过CURDATE()但是没有用!
我在表中有另一个字段日期,并且CURDATE()工作正常,但是使用此时间戳字段它不起作用!!
先谢谢
答案 0 :(得分: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();
代替。
答案 1 :(得分:0)
您需要从时间戳中提取日期部分,一种方法是使用DATE
:
SELECT (*)
FROM mytable
WHERE DATE(stampfield) = CURDATE()