MySQL 5.0の移行ガイドによれば、DATEとDATETIMEの間の比較方法が変更されています。新しいMySQLの古い日付比較処理
非互換の変更:DATE値をDATETIME値と比較するのMySQL 5.0.42、以降では、DATE値は、夜12時00分00秒として時間部分を追加することによって、DATETIME型に強制されます。以前は、DATETIME値の時間部分が無視されたか、比較が文字列比較として実行されていました。古い動作を模倣するには、CAST()関数を使用して比較オペランドを以前と同じように処理します。
ですから、例えば「選択...今my_date <は、()ここで、」今(00:00:00今日含まれます)DATETIME比較を行うと、DATEの比較を行うために使用(ないであろう。たとえば、今日を含む)。
古い動作を可能にするMySQLの設定オプション?私はまだそれを見つけることができませんでしたが、それは必ずしもそこにないことを意味しません。
古いデータ処理に依存する課金に関する複数のSQL文を含む100以上のKLOCコードがあります。
これはあなたに何の助けにもなりませんが、最初にDATETIMEとDATETIMEを比較することが許可された理由は不思議です。彼らが2つの異なったタイプであるなら、あなたはそれらの1つを投げつけられたはずです。 –