我試圖從今天插入的表中獲取結果。每個插入標記有一個時間戳。我如何獲得今天的日期的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