我得弄清楚我仓库里的东西在未来30天内会过期。
我写了下面的问题

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

我也试过CURDATE()ExpirationDate存储为'DATE'
查询不返回任何结果。我肯定有东西在30天内就要过期了。
我也试过给出一个大的数字。我没有任何结果。
谢谢

最佳答案

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);

09-10 13:43