我正在使用mySql,我的表格列date
是DATETIME类型
但我只想比较今天的日期而不是时间
$today = date("Y-m-d", time());
如果我使用上述方法比较日期,它总是出错。
$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'");
请帮助我,我不是一个好的mySQL程序员。
答案 0 :(得分:18)
有一个名为DATE的mysql函数,它提取日期或日期时间表达式的日期部分
AND DATE(`date`)='$today'
编辑:请注意,如下面的评论所述,使用此功能将绕过datetime字段上的索引。您应该使用:
AND date BETWEEN '$today 00:00:00' AND '$today 23:59:59'
答案 1 :(得分:1)
您可以使用datediff这样的功能:
AND datediff(`date`, '$today') = 0
答案 2 :(得分:0)
date_format('%Y-%m', time())
可能是您需要用来进行比较的功能。