我有一个mySQL视图,我希望能够找到expirationDate的所有记录,这些记录从现在开始就是N天。例如,我想找到所有具有expirationDate的记录,这些记录在90天之后是完全正确的,所以我可以通过电子邮件发送给他们,让他们知道他们的课程即将到期。 dateCompleted和expirationDate都是datetime类型。
结构:
id can firstName lastName email course curriculum group stageNum stage dateCompleted expirationDate
数据示例:
1 123456789 John Smith jsmith@gmail.edu PHS Conflict of Interest Conflict of Interest mini-course Conflict of Interest 1 Stage 1 2012-12-07 02:52:24 2015-12-07 02:52:24
答案 0 :(得分:1)
这可以在90天之后使用expirationDate
获得结果:
SELECT * FROM courses WHERE DATE(expirationDate) = DATE_ADD(CURRENT_DATE(), INTERVAL 90 DAY)
答案 1 :(得分:0)
您应该可以使用DATE_ADD
之类的date and time functions来完成此操作:
SELECT * FROM courses WHERE expirationDate BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 90 DAY);
答案 2 :(得分:0)
这应该可以解决问题:
SELECT * FROM courses
WHERE DATE(DATE_ADD(expirationDate, INTERVAL -90 DAY)) = CURRENT_DATE