所以现在我存储在我的网站做过这样的MySQL查询来选择记录与特定日期
2011-06-07 21:44:01
每个搜索的日期,现在我想执行一个查询选择所有值,其中日期是等于一切,但只有年/月和日是考虑到,所以它会像
mysql_query("SELECT tag from tags WHERE date = '2011-06-07'");
但它不应该考虑到的确切时间(小时,分钟秒) ,有没有办法做到这一点?
所以现在我存储在我的网站做过这样的MySQL查询来选择记录与特定日期
2011-06-07 21:44:01
每个搜索的日期,现在我想执行一个查询选择所有值,其中日期是等于一切,但只有年/月和日是考虑到,所以它会像
mysql_query("SELECT tag from tags WHERE date = '2011-06-07'");
但它不应该考虑到的确切时间(小时,分钟秒) ,有没有办法做到这一点?
您可以使用DATE()
函数。
SELECT `tag`
FROM `tags`
WHERE DATE(`date`) = '2011-06-07'
然而,为了更好的性能,您可以使用...
WHERE `date`
BETWEEN '2011-06-07'
AND '2011-06-07 23:59:59'
这应该工作:
mysql_query("SELECT tag from tags WHERE date LIKE '2011-06-07%'");
mysql_query("SELECT tag from tags WHERE DATE(`date`) = '2011-06-07'");
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date
使用此方法会有性能影响;见亚历克斯的答案。 – 2011-06-08 14:53:33
你能否阐述的一个位性能提升?谢谢。 – 2011-06-08 02:03:11
@CleverQuack使用'DATE()'会导致全扫描。 – alex 2011-06-08 02:05:42
Thx快速响应。干杯。 – 2011-06-08 02:07:03