結論
SELECT *
FROM books
WHERE buy_time >= DATE_ADD(DATE_ADD(LAST_DAY(NOW()), INTERVAL 1 DAY), INTERVAL -2 MONTH)
AND buy_time < DATE_ADD(DATE_ADD(LAST_DAY(NOW()), INTERVAL 1 DAY), INTERVAL -1 MONTH);
関数について
NOW() … 現時点の日時を取得
LAST_DAY(日時) :最終日を取得
DATE_ADD(日時, INTERVAL 3 DAY):3日後の日時を取得
コピペしてためしてみる用
結論に書いてあるコードはテーブルがないと動かないので、MySQLで実行すれば動くコードを以下に貼っておきます
SELECT NOW() AS 現時刻, LAST_DAY(NOW()) AS 月末, DATE_ADD(NOW(), INTERVAL 3 DAY) AS 3日後
参考
- MySQL 逆引きリファレンス http://mysql.javarou.com/category/228.html