MYSQLクエリ/ 1週間前より古い日付(すべてUTCの日時)


89

mysql dbにクエリを実行して、日時が1週間より前のすべてのレコードを返すにはどうすればよいですか。datetimeテーブルにはすべてUTCで格納されていることに注意してください。それ自体で、それを比較する必要があります。

明確にするために-私は純粋なmysqlクエリを探しています。

回答:


216
SELECT * FROM tbl WHERE datetime < NOW() - INTERVAL 1 WEEK

テーブルにNOW()返されるものとは異なるタイムゾーンで日時が格納されている場合は、UTC_TIMESTAMP()代わりにUTCでタイムスタンプを取得するために使用できます。


18
SELECT * FROM table WHERE DATEDIFF(NOW(),colname) > 7;

5
このコードは質問に答えることができますが、このコードが質問に答える理由や方法に関する追加のコンテキストを提供すると、長期的な価値が向上します。
JAL

これは短いですが、これを使用する必要がありますか?
moeiscool 2016

4
たぶんこれは短いですが、どのようにインデックスを使用できるでしょうか。
swdev 2017年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.