web-dev-qa-db-ja.com

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

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

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

76
tzmatt7447
_SELECT * FROM tbl WHERE datetime < NOW() - INTERVAL 1 WEEK
_

テーブルがNOW()が返すタイムゾーンとは異なるタイムゾーンに日付時刻を保存する場合、代わりにUTC_TIMESTAMP()を使用してUTCのタイムスタンプを取得できます。

189
reko_t
SELECT * FROM table WHERE DATEDIFF(NOW(),colname) > 7;
15
Sajjad Shirazy
SELECT SUBDATE('2008-01-02', 7);

OR

SELECT SUBDATE(now(), INTERVAL 1 week);

結果:

2007-12-26

7