- ベストアンサー
24時間以内に更新されたデータを取得
MySQL3で24時間に更新されたデータを取得したいのですが、いまいち方法が分かりません。 select * from test WHERE to_days(now()-60*60*24) > UpdataDate このような形では無理なようなのですが、いい方法はあるでしょうか? UpdataDateはdatetime型です。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんなんじゃないですか? SELECT * FROM `test` WHERE `UpdataDate`>=sysdate() - interval 1 day
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.2
参考サイトにもかいてあるとおり NOW()とSYSDATE()とCURRENT_TIMESTAMP は 同意です。 SQLの場合SYSDATEはORACLEっぽい書き方ですが やや文法は違うみたいですね。 またDATE_ADD()はADDDATE()、DATE_SUB()は SUBDATE()と同意で、INTERVALを直接足し引き するのも同じ意味なので、お好きな書式で 書かれると良いと思います
補足
ご回答ありがとうございます。 参考にさせていただきます。 先程自分でもいろいろ考えていて、以下のようなSQL文に辿りついたのですが、とりあえず24時間以上、以内で試すと問題なさそうだったのですが、いかがでしょうか? select * from test WHERE DATE_ADD (UpdataDate,INTERVAL 24 HOUR) > NOW()";