2011-02-08 120 views
2

可能重複:
Select * from table where date = today選擇所有地方日期=今天?

您好,我試圖做一個MySQL查詢來獲取所有的行,其中日期= 「今天」 .....

問題是,我使用時間戳存儲我的下載日期,如$ date = time();

我想擺脫使用Unix的時間戳,並開始使用正確的MySQL字段類型,而不是隻是文本,任何人都可以幫我嗎?

我想要一個更好的方式來存儲日期,然後如果你可以提供給我一個mysql_query來選擇今天已經添加的所有條目。

感謝您的幫助。

+0

@Sebastian物:與得分最高的答案有太可怕了(因爲它們不能被優化) – zerkms 2011-02-08 01:29:06

+0

夥計們,不要靠近日是參考這個問題!如果你想關閉它 - 請找到一個更好的答案! – zerkms 2011-02-08 01:30:44

回答

4
WHERE `date` BETWEEN UNIX_TIMESTAMP(DATE(NOW())) AND UNIX_TIMESTAMP(DATE(DATE_ADD(NOW(), 1 DAY))) 

如果沒有價值在未來(明天,2天后天,等等),那麼就可以簡化爲:

WHERE `date` >= UNIX_TIMESTAMP(DATE(NOW())) 

,當你改變你的date字段類型來datetime的可能的查詢將是:

WHERE `date` >= DATE(NOW()) 
相關問題