2011-06-08 79 views
28

所以现在我存储在我的网站做过这样的MySQL查询来选择记录与特定日期

2011-06-07 21:44:01 

每个搜索的日期,现在我想执行一个查询选择所有值,其中日期是等于一切,但只有年/月和日是考虑到,所以它会像

mysql_query("SELECT tag from tags WHERE date = '2011-06-07'"); 

但它不应该考虑到的确切时间(小时,分钟秒) ,有没有办法做到这一点?

回答

51

您可以使用DATE()函数。

SELECT `tag` 
    FROM `tags` 
WHERE DATE(`date`) = '2011-06-07' 

然而,为了更好的性能,您可以使用...

WHERE `date` 
BETWEEN '2011-06-07' 
    AND '2011-06-07 23:59:59' 
+1

你能否阐述的一个位性能提升?谢谢。 – 2011-06-08 02:03:11

+6

@CleverQuack使用'DATE()'会导致全扫描。 – alex 2011-06-08 02:05:42

+0

Thx快速响应。干杯。 – 2011-06-08 02:07:03

4

这应该工作:

mysql_query("SELECT tag from tags WHERE date LIKE '2011-06-07%'");