我有一张表中包含用户相关数据。 user_regdate
(日期时间)字段包含注册日期,而user_verified
(int 1)包含用户已经确认其电子邮件地址的日期。我想创建一个定时事件,该事件每天在03:00运行,并删除尚未验证的所有用户记录(user_verified
= 0)并且用户注册超过3天前。所以问题是:我如何计算user_regdate
和NOW
之间的差异是否超过3天?
这是我的疑问:
CREATE EVENT clear_unconfirmed
ON SCHEDULE
EVERY 1 DAY
STARTS '2015-04-09 03:00:00' ON COMPLETION PRESERVE ENABLE
DO
/*actual query which does the deletion comes here...*/
答案 0 :(得分:2)
您可能在MYSQL中寻找DATEDIFF函数
DATEDIFF()返回expr1 - expr2,表示为从一天开始的值 约会到另一个。 expr1和expr2是日期或日期和时间 表达式。只有值的日期部分用于 计算
这样的事情:
SELECT DATEDIFF(CURDATE(),yourdatecolumn)AS DAYS
FROM yourtablename
<强> SQL FIDDLE DEMO 强>