Mysql dbをクエリして、1週間前より古い日時を持つすべてのレコードを返すにはどうすればよいですか。 datetimeテーブルはすべてをUTCで保存し、それ自体で比較する必要があることに注意してください...
明確にするために-私は純粋なmysqlクエリを探しています
_SELECT * FROM tbl WHERE datetime < NOW() - INTERVAL 1 WEEK
_
テーブルがNOW()
が返すタイムゾーンとは異なるタイムゾーンに日付時刻を保存する場合、代わりにUTC_TIMESTAMP()
を使用してUTCのタイムスタンプを取得できます。
SELECT * FROM table WHERE DATEDIFF(NOW(),colname) > 7;
SELECT SUBDATE('2008-01-02', 7);
OR
SELECT SUBDATE(now(), INTERVAL 1 week);
結果:
2007-12-26