我有一个名为“s_timestamp。”的列。
如何在时间戳中返回当前日期的所有记录?
例如,
s_timestamp
2012-12-27 1:00:00
2012-12-27 2:00:00
2012-12-26 0:00:01
2012-12-20 0:00:02
2012-12-21 0:00:03
我想要以下输出:
2012-12-27 1:00:00
2012-12-27 2:00:00
如果不清楚,请告诉我。
答案 0 :(得分:3)
答案 1 :(得分:2)
这可能比将时间戳强制转换为DATE
更有效,特别是如果你在timestamp列上有一个索引(你应该有):
SELECT *
FROM tableName
WHERE s_timestamp >= CURDATE()
或者,如果您想要排除任何未来日期:
SELECT *
FROM tableName
WHERE s_timestamp >= CURDATE()
AND s_timestamp < DATE_ADD(CURDATE(), INTERVAL 1 DAY)
这是有效的,因为当DATETIME
或TIMESTAMP
与DATE
进行比较时,DATE
实际上被解释为具有0:00:00
的时间部分{ {1}}。