Php Sql CURDATE()在下个月不工作
您好,我有一个查询返回基于CURDATE()的条目计数,它适用于本月(4月)的任何dat,但不适用于下个月(5月) 由于日期是在4月份,因此此项工作正常Php Sql CURDATE()在下个月不工作,php,mysql,sql,Php,Mysql,Sql,您好,我有一个查询返回基于CURDATE()的条目计数,它适用于本月(4月)的任何dat,但不适用于下个月(5月) 由于日期是在4月份,因此此项工作正常 SELECT COUNT(Machine) FROM production WHERE Status = 'Confirmed' AND DATE(FROM_UNIXTIME(production.Required)) = CURDATE() 这与5月份不同 SELECT COUNT(Machine) FROM production
SELECT COUNT(Machine) FROM production
WHERE Status = 'Confirmed'
AND DATE(FROM_UNIXTIME(production.Required)) = CURDATE()
这与5月份不同
SELECT COUNT(Machine) FROM production
WHERE Status = 'Confirmed'
AND DATE(FROM_UNIXTIME(production.Required)) = CURDATE()+3
您的查询最好写为:
WHERE Status = 'Confirmed' AND
production.Required >= UNIX_TIMESTAMP(CURDATE() + interval 3 day) AND
production.Required < UNIX_TIMESTAMP(CURDATE() + interval 4 day)
其中状态为“已确认”且
生产.必需>=UNIX\u时间戳(CURDATE()+间隔3天)和
生产。所需时间
虽然这看起来更复杂,但如果有合适的索引可用,它允许优化使用索引(在这种情况下,最好的索引似乎是(状态,必需)
。列上的函数通常阻止索引和其他优化。CURDATE()+间隔3天CURDATE()+3
只需将3作为一个数字添加到日期中,就可以得到20180431