MySql查询选择具有特定日期的记录

Bel*_*ish 30 mysql datetime

所以现在我正在这样存储我网站上每次搜索的日期

2011-06-07 21:44:01
Run Code Online (Sandbox Code Playgroud)

现在我想执行一个查询来选择日期等于任何值的所有值,但只考虑年/月和日,所以它会像

mysql_query("SELECT tag from tags WHERE date = '2011-06-07'");
Run Code Online (Sandbox Code Playgroud)

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

ale*_*lex 61

你可以使用这个DATE()功能.

SELECT `tag`
  FROM `tags`
 WHERE DATE(`date`) = '2011-06-07'
Run Code Online (Sandbox Code Playgroud)

但是,要获得更好的性能,您可以使用......

  WHERE `date` 
BETWEEN '2011-06-07'
    AND '2011-06-07 23:59:59'
Run Code Online (Sandbox Code Playgroud)

  • @CleverQuack使用`DATE()`会导致全扫描. (6认同)

Spa*_*kup 6

这应该工作:

mysql_query("SELECT tag from tags WHERE date LIKE '2011-06-07%'");
Run Code Online (Sandbox Code Playgroud)