日期(现在)只能使用时间00:00:00
问题描述:
我试图获取当天日期的行数。它的工作是这样的,但只有当时间为00:00:00
,所以如果我改变时间为例如2016-04-25 05:30:30
其不计算该行出于某种原因。日期(现在)只能使用时间00:00:00
$result16 = $dbhandle->query("SELECT * FROM email WHERE signoff = DATE(NOW())");
$row_cnt16 = $result16->num_rows;
我该怎么办才能解决这个问题?
Table information:
signoff = varchar(250)
输出:
如果日期是2016-04-25 00:00:00
输出2
如果日期是2016-04-25 05:04:00
输出1
答
试试这个:
SELECT *
FROM email
WHERE signoff BETWEEN DATE(NOW()) AND DATE(NOW() + INTERVAL 1 DAY)
+0
感谢您的答案它的工作,我想我使用这一个,因为我也需要使这个间隔7天 – marijn
答
首先将您的数据类型signoff
更改为datetime
。如果速度是您可以使用
SELECT * FROM email
WHERE signoff >= curdate()
AND signoff < curdate() + interval 1 day
你可以试试这个问题
然后用这个查询
:' SELECT * FROM email WHERE STR_TO_DATE(signoff,'%Y-%m-%d')= DATE(NOW())' – 1000111
为什么使用'varchar'而不是'date'或'datetime'格式for coll在桌上吗? – Naumov