1

我有一个 mySQL 视图,我希望能够找到所有具有从现在起正好 N 天的 expireDate 的记录。例如,我想查找从现在起正好是 90 天的 expireDate 的所有记录,这样我就可以通过电子邮件通知该人,让他们知道他们的课程即将到期。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
4

3 回答 3

1

这应该会在expirationDate90 天后为您提供结果:

SELECT * FROM courses WHERE DATE(expirationDate) = DATE_ADD(CURRENT_DATE(), INTERVAL 90 DAY)
于 2013-02-28T17:11:07.333 回答
0

您应该能够使用一些日期和时间函数来执行此操作,例如DATE_ADD

SELECT * FROM courses WHERE expirationDate BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 90 DAY);
于 2013-02-28T17:06:10.587 回答
0

这应该可以解决问题:

SELECT * FROM courses 
WHERE DATE(DATE_ADD(expirationDate, INTERVAL -90 DAY)) = CURRENT_DATE
于 2013-02-28T17:12:20.933 回答