日付を比較しているときに、いくつかの「奇妙な」結果が得られました。TIMESTAMPS 値を
table1
持つ 2 つの行があり
、このクエリを作成すると:2009-08-26 23:39:56
2009-08-27 00:01:42
select * from table1 c
INNER JOIN table2 r ON r.table1_id = c.id
WHERE DATE(c.authorization_date) = '2009-08-26'
両方の行を返します (1 つだけを返す必要がある場合)。
さらに奇妙なことに、返された結果セットの行には同じ値があります。2009-08-26 23:39:56
しかし、このクエリを作成すると:
SELECT DATE(authorization_date) FROM table1
値を含む 2 つの行を正しく返し2009-08-26
、2009-08-27
それで、ここに私の質問があります。正しい結果が返されるように比較するにはどうすればよいですか。何が間違っていますか? 内部結合に関連している可能性がありますか?