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句の最初の項目が低い値であり、2 番目の値が高い値であることを探しています。

SELECT ItemName, ExpirationDate FROM table 
WHERE ExpirationDate BETWEEN SYSDATE() AND DATE_ADD(SYSDATE(), INTERVAL 30 DAY);
于 2012-11-20T02:56:24.677 に答える