1

私は、今から正確にN日後の有効期限を持つすべてのレコードを見つけたいというmySQLビューを持っています。たとえば、expirationDate が今からちょうど 90 日後のすべてのレコードを見つけて、その人にメールを送信してコースの有効期限が切れていることを知らせたいとします。dateCompleted と expireDate はどちらも日時型です。

構造:

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

expirationDateこれにより、 90日後の結果が得られるはずです。

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 に答える