2011-01-05 42 views
4

我有保存日期時間在一個領域,在這個格式的MySQL數據庫:檢查只能從時間字段日期

'2011-01-04 16:32:49' 

如何才能篩選出結果基於這個日期時間,使得它僅顯示從今天的結果。基本上,我只想比較日期部分的領域。

我可以這樣做嗎?

Select * from table where timestamp.date() = now().date 

回答

3

使用DATE

SELECT * FROM table 
WHERE DATE(timestamp) = DATE(now()) 

另一種選擇,將能夠,如果你有一個使用索引上timestamp

SELECT * FROM table 
WHERE timestamp >= DATE(now()) 
AND timestamp < DATE(now()) + interval 1 day 
+0

謝謝。這工作很好。一旦時間限制結束,將立即接受。 – xbonez 2011-01-05 15:56:50

1

是的,你可以,但存儲在列你的數據庫中的dateTime字段只需要被引用,你不應該在它上面調用一個.date()函數。

1

對於MySQL,這將是:

SELECT * FROM表,其中DATEDIFF(NOW(),時間戳)= 0

這將使你只記錄其中的日期是今天。

1
Select * from table where DATE_FORMAT(timestamp, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d') 
相關問題