2

我必须找出我仓库中的哪些物品将在接下来的 30 天内到期。我写了以下查询

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

我也试过了CURDATE()ExpirationDate存储为'DATE' 查询不返回任何结果。我确定有物品将在接下来的 30 天内到期。我也尝试过提供大量数据INTERVAL 30000 DAY。我没有得到任何结果。

谢谢

4

1 回答 1

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);
于 2012-11-20T02:56:24.677 回答