我有一个名为“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
如果不清楚,请告诉我。
这可能比将时间戳转换为更有效DATE
,特别是如果您在时间戳列上有索引(应该有):
SELECT *
FROM tableName
WHERE s_timestamp >= CURDATE()
或者,如果您想排除任何未来日期:
SELECT *
FROM tableName
WHERE s_timestamp >= CURDATE()
AND s_timestamp < DATE_ADD(CURDATE(), INTERVAL 1 DAY)
这是有效的,因为当 aDATETIME
或 aTIMESTAMP
与 a 进行比较时DATE
,DATE
实际上,它被解释为具有 的时间部分0:00:00
。