过滤掉23天前使用mysql创建的所有用户[关闭]

问题描述 投票:-3回答:2

我想让用户过期通知模块。在该模块中,我想在用户完成30天试用期后的23天内发送电子邮件。在30天试用期结束后,我想向他们发送试用期过期的电子邮件。为了完成这项任务,我想为这两项任务进行有效的mysql查询。

例如:created_time = 2018-08-08 23:16:55

php mysql
2个回答
0
投票

要让每个用户在30到23天之间使用,请使用

select * from users 
where (created_time not between DateAdd(DD,-23,GETDATE()) and GETDATE()) 
AND (created_time between DateAdd(DD,-30,GETDATE()) and GETDATE())

0
投票

mysql中的DATEDIFF(expr1,expr2)函数可用于获取日期用户剩余天数。

select datediff('2018-09-06', '2018-08-19') as expiredate

expr1必须是当前日期。

基于expiredate值写一个php函数发送邮件。

DATEDIFF(expr1,expr2)返回expr1 - expr2,表示为从一个日期到另一个日期的天数值。 expr1和expr2是日期或日期和时间表达式。在计算中仅使用值的日期部分

© www.soinside.com 2019 - 2024. All rights reserved.