2012-11-20 166 views
2

我必須瞭解倉庫中的哪些商品在未來30天內即將過期。 我寫了下面的查詢將當前日期添加到當前日期mysql

SELECT ItemName, ExpirationDate, 
FROM table 
WHERE ExpirationDate BETWEEN DATE_ADD(SYSDATE(), INTERVAL 30 DAY) and SYSDATE() 

我也曾嘗試CURDATE()ExpirationDate存儲爲'DATE' 該查詢不返回任何結果。我確信有一些項目會在未來30天內過期。 我也試過給INTERVAL 30000 DAY也是一個大數字。我沒有得到任何結果。

由於

回答

2

http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html

MySQL是BETWEEN子句中尋找第一個項目是較低的值,並且第二值是較高的值。

SELECT ItemName, ExpirationDate FROM table 
WHERE ExpirationDate BETWEEN SYSDATE() AND DATE_ADD(SYSDATE(), INTERVAL 30 DAY); 
+0

Whaaaaaaaaaat !! – Ank

+1

:) - 我一直在那裏waaay自己太多次。 –

+0

可能從來沒有猜到過。當我遇到錯誤時,我通常會看到文檔。 – Ank