我想在24小时后显示一些东西。我怎样才能做到这一点?第一个日期保存在数据库中,另一个日期将在运行时获得。但是计算这24小时的公式是什么?
答案 0 :(得分:1)
您可以获取日期差异:
SELECT
CASE
WHEN DATEDIFF(?, dateCol) <= 1 THEN 'go'
ELSE 'no go'
END CASE AS go_Or_No_Go
FROM yourtable
WHERE <parameters here to get the date value you seek for in the db>
?
可能是CURRENT_DATE
或其他日期函数,具体取决于您在数据库中存储的日期类型,如下所示:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
如果您想要提高速度,可以将其作为嵌入式SQL命令,函数或存储过程进行比较,以查看哪些运行速度最快,看到SQL非常静态,因为它不需要参数,也不需要任何参数PHP的解释,除了检查go_Or_No_Go
是否等于go
或no go
- 你甚至可以改为1或0,或任何2个不同的值,如:
WHEN DATEDIFF(?, dateCol) <= 1 THEN 1 -- or 'YES'
ELSE 0 -- or 'NO'
答案 1 :(得分:0)
SELECT * from foo WHERE datetime_column < DATE_SUB(NOW(), INTERVAL 24 HOUR)