【发布时间】:2012-02-20 15:02:09
【问题描述】:
我正在尝试创建一个涉及聚合一段时间内发送的电子邮件的 cron 作业。
我需要执行一个查询,例如
SELECT count(*) from table where action_time < NOW();
我该怎么办?
我知道 CURDATE() 和 CURTIME() 但我需要比较时间和日期,以便在事件发生后的确切分钟内执行操作,CURTIME 意味着在午夜我会遇到问题.
编辑:CURTIME() 仅包括时间,因此操作时间为 23:59:59 的数据库中的作业不会在 00:00:59 运行 - 一分钟后(因为后者不大于首先)
我可以使用日期时间或时间戳,但我将使用什么作为函数进行比较(我在上面使用 NOW(),但这不起作用)
更新:我尝试使用 SELECT count(*) from table where UNIX_TIMESTAMP(action_time)
【问题讨论】:
-
action_time是什么数据类型,应该是DATETIME。 -
这是日期时间,尽管我正在考虑使用 TIMESTAMP 使其更具可比性,正如 Mchl 建议的那样
标签: mysql