2011-02-08 177 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()) 
相关问题