MYSQL query / dates older than 1 week ago (all datetimes in UTC)

How do I query a mysql db to return all records with a datetime older than 1 week ago. Note that the datetime table stores everything in UTC, and I should be comparing it in that itself.

Just to be clear - I'm looking for a pure mysql query.


Solution 1:

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

If your table stores datetimes in different timezone than what NOW() returns, you can use UTC_TIMESTAMP() instead to get the timestamp in UTC.

Solution 2:

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