2009-09-15 85 views
0

我試圖從今天插入的表中獲取結果。每個插入標記有一個時間戳。我如何獲得今天的日期的MySQL結果?

如果我做一個查詢,如:

SELECT * 
    FROM table 
    WHERE added > DATE_SUB(NOW(), INTERVAL 1 DAY) 

看來我得到的東西,做今天的日期下跌,但也從東西24小時之前。也許我正在看東西。

我不希望看到來自24個小時前的東西...

回答

2

你可以使用MySQL的日期比較相比,日期時間值,當在午夜被招:

​​

這具有可以使用索引的優勢。

+0

> =會更好,不是嗎? – 2009-09-15 13:29:52

+0

你是對的。這是一個錯字。謝謝! – longneck 2009-09-15 14:03:38

3

「間隔1天」並不意味着「同一日曆日」,這意味着「24小時內」。有很多情況下這是有用的。喜歡,你可能想說,讓我看看在過去24小時內對我的帖子所做的所有回覆。如果我在早上上班時遇到了這樣的問題,它會告訴我自從我昨天上午問起以來的所有反應,以及在我抵達之前在今天上午發出的那些反應。這可能是我想知道的。

顯然它在你的情況下沒有用,所以...使用別的東西!就像其他海報所建議的一樣。

1

我傾向於使用TO_DAYS()將時間轉換爲日期編號,例如,

SELECT * 
    FROM table 
    WHERE TO_DAYS(added)=TO_DAYS(NOW())