我的PHP脚本需要一些帮助。 我有一个MySQL数据库,其中一列包含日期时间值,例如:
2013-10-11 10:41:00
现在我想要的是设置一个条件来获取最后24小时的所有值,所以我这样做了:
SELECT *
FROM data
WHERE timediff(now(), myDate) < '24:00:00'
但出于某种原因,例如,现在它是2013-10-11 20:46,当我运行这个脚本时,我从2013-10-01 10:47:00一路走来的价值观。
答案 0 :(得分:1)
SELECT *
FROM data
WHERE myDate >= now() - interval 24 hour
答案 1 :(得分:0)
TIMEDIFF返回时间值,与时间值的比较是有问题的。
将时间值更改为您可以更轻松地测试的内容(例如秒数)更清晰,更安全:
SELECT *
FROM data
WHERE time_to_sec(timediff(now(), myDate)) < 24 * 60 * 60;
这将有效,很明显你在做什么。