curdate() を使用して DB のエントリを取得しようとしていますが、認識していない根本的なロジックがいくつかあると思います。例えば:
SELECT * FROM foo WHERE event='bar'
AND created_at >= SUBDATE(CURDATE(), 90)
AND created_at <= CURDATE()
この呼び出しは過去 90 日間で返されますが、今日のエントリはありません。私が理解しているように、curdate() は YYYY-MM-DD または YYYYMMDD のみであり、時刻を完全に無視します。それを curtime() と now() 用に保存します。Railsで同様の呼び出しを行い、日付をDateTime.beginning_of_dayとして渡すと、他の方法では今日が特定の時間まで含まれないため、時間がここのどこかに含まれていると思われます。
MySQL リファレンス マニュアルなど、いくつかの情報源を調べましたが、本当の答えは見つかりませんでした。現在の時間の要素がクエリに含まれている可能性はありますか、それとも密室で他のビジネスが行われている可能性はありますか?