MySQL 5.1 に問題があります。日時データ型は、日付列と一致するように暗黙的にキャストされません。
SELECT * FROM my_table WHERE my_date_field = NOW()
このリクエストは、MySQL 5.1 を使用して行を返しませんが、バージョン 5.0 ではうまく機能します。CURDATE()
代わりに使用するNOW()
と、MySQL 5.0 と MySQL 5.1 の両方で機能します。キャストが明示的 ( CAST(NOW() AS DATE)
) の場合、MySQL 5.0 と MySQL 5.1 の両方で機能します。
この問題は、datetime から date への暗黙的なキャストでのみ発生します。この問題に既に遭遇した人や、この問題を解決する方法についての手がかりを持っている人はいませんか? CURTIME() の代わりに NOW() を使用するのが最善ではないことはわかっていますが、これはここでの問題ではありません。現在アプリケーションで使用されており、その目的はすべてを書き換えないようにすることです。
ありがとう!