我试图从今天插入的表中获取结果。每个插入标记有一个时间戳。我如何获得今天的日期的MySQL结果?
如果我做一个查询,如:
SELECT *
FROM table
WHERE added > DATE_SUB(NOW(), INTERVAL 1 DAY)
看来我得到的东西,做今天的日期下跌,但也从东西24小时之前。也许我正在看东西。
我不希望看到来自24个小时前的东西...
我试图从今天插入的表中获取结果。每个插入标记有一个时间戳。我如何获得今天的日期的MySQL结果?
如果我做一个查询,如:
SELECT *
FROM table
WHERE added > DATE_SUB(NOW(), INTERVAL 1 DAY)
看来我得到的东西,做今天的日期下跌,但也从东西24小时之前。也许我正在看东西。
我不希望看到来自24个小时前的东西...
对the current date可以时间戳字段的extract the date part并进行比较。
SELECT x,y,z FROM t WHERE Date(added)=Curdate()
你可以使用MySQL的日期比较相比,日期时间值,当在午夜被招:
这具有可以使用索引的优势。
“间隔1天”并不意味着“同一日历日”,这意味着“24小时内”。有很多情况下这是有用的。喜欢,你可能想说,让我看看在过去24小时内对我的帖子所做的所有回复。如果我在早上上班时遇到了这样的问题,它会告诉我自从我昨天上午问起以来的所有反应,以及在我抵达之前在今天上午发出的那些反应。这可能是我想知道的。
显然它在你的情况下没有用,所以...使用别的东西!就像其他海报所建议的一样。
我倾向于使用TO_DAYS()将时间转换为日期编号,例如,
SELECT *
FROM table
WHERE TO_DAYS(added)=TO_DAYS(NOW())
> =会更好,不是吗? – 2009-09-15 13:29:52
你是对的。这是一个错字。谢谢! – longneck 2009-09-15 14:03:38