2013-02-28 67 views
1

我有一個mySQL視圖,我希望能夠從現在開始查找具有expirationDate的N個天數的所有記錄。例如,我想查找所有記錄,其中的expirationDate完全是從現在開始的90天,所以我可以通過電子郵件通知他們,讓他們知道他們的課程即將到期。 dateCompleted和expirationDate都是日期時間類型。MySQL查看選擇未來N天

結構:

id can firstName lastName email course curriculum group stageNum stage dateCompleted expirationDate 

數據舉例:

1 123456789 John Smith [email protected] 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 

回答

1

這應該讓你的結果與expirationDate從現在起90天:

SELECT * FROM courses WHERE DATE(expirationDate) = DATE_ADD(CURRENT_DATE(), INTERVAL 90 DAY) 
+0

非常感謝! – Evilsithgirl 2013-02-28 17:12:53

+0

太棒了,我很高興它有幫助! – DarkAjax 2013-02-28 17:14:54

0

你應該能夠做到這一點使用一些date and time functionsDATE_ADD的:

SELECT * FROM courses WHERE expirationDate BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 90 DAY); 
+0

我只需要這正是未來90天的記錄。這顯示了將來從現在到90天的所有記錄。 – Evilsithgirl 2013-02-28 17:09:22

+0

如果您需要,您可以隨時將其調整爲'expirationDate = DATE_ADD(...)'。 – tadman 2013-02-28 17:18:32

0

這應該做的伎倆:

SELECT * FROM courses 
WHERE DATE(DATE_ADD(expirationDate, INTERVAL -90 DAY)) = CURRENT_DATE