一尘不染

如何比较时间戳日期与MySQL中的仅日期参数?

mysql

在SQL语句中,如何比较保存为TIMESTAMP的日期和YYYY-MM-DD格式的日期?

例如: SELECT * FROM table WHERE timestamp = '2012-05-05'

我希望此查询返回指定日期中所有带有时间戳的行,但它仅返回具有午夜时间戳的行。

谢谢


阅读 399

收藏
2020-05-17

共1个答案

一尘不染

您可以使用该DATE()函数提取时间戳记的日期部分:

SELECT * FROM table
WHERE DATE(timestamp) = '2012-05-05'

但是,如果您在timestamp列上有索引,则这样做会更快,因为它可以利用索引:

SELECT * FROM table
WHERE timestamp BETWEEN '2012-05-05 00:00:00' AND '2012-05-05 23:59:59'
2020-05-17