时间戳间隔

时间:2012-12-28 00:20:34

标签: mysql sql select timestamp

我有一个名为“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

如果不清楚,请告诉我。

2 个答案:

答案 0 :(得分:3)

只需使用CURDATE()即可。例如

SELECT *
FROM tableName
WHERE DATE(s_timestamp) = CURDATE()

答案 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)

这是有效的,因为当DATETIMETIMESTAMPDATE进行比较时,DATE实际上被解释为具有0:00:00的时间部分{ {1}}。