如何比较DateTime列与仅日期而不是时间

5 mysql datetime

我正在使用mySql,我的表列date是DATETIME类型

但我想比较今天的日期而不是时间

       $today = date("Y-m-d",  time());
Run Code Online (Sandbox Code Playgroud)

如果我使用上述方法比较日期,它总是出错.

$this->update("
UPDATE `stats_tracker` 
SET 
  `user_agent`='$this->visitor_user_agent' , 
  `referrer`='$this->referrer_page' , 
  `page_views`='$page_views' 
WHERE 
  `visitor_ip`='$this->visitor_ip' 
  AND `page`='$this->this_page' 
  AND `date`='$today'");
Run Code Online (Sandbox Code Playgroud)

请帮助我,我不是一个好的mySQL程序员.

nic*_*ico 19

有一个名为DATE的mysql函数,它提取日期或日期时间表达式的日期部分

AND DATE(`date`)='$today'
Run Code Online (Sandbox Code Playgroud)

编辑:小心,如下面的评论所述,使用它将绕过datetime字段的索引.您应该使用:

AND date BETWEEN '$today 00:00:00' AND '$today 23:59:59'
Run Code Online (Sandbox Code Playgroud)