MySQL get the date n days ago as a timestamp

mysql

Solution

DATE_SUB will do part of it depending on what you want

mysql> SELECT DATE_SUB(NOW(), INTERVAL 30 day);
2009-06-07 21:55:09

mysql> SELECT TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 day));
2009-06-07 21:55:09

mysql> SELECT UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 day));
1244433347

Problem

In MySQL, how would I get a timestamp from, say 30 days ago? Something like: ``` select now() - 30 ``` The result should return a timestamp.

Original source