如何让MySQL中的Timestamp减去6周?

时间:2011-02-23 13:15:59

标签: mysql timestamp

我有一个名为timestamp的字段。这是成员登录的最后一次。 我希望在查询中包含一个where子句,如

WHERE timestamp > todays date - 6 weeks

我该怎么做? 我想尝试只包括过去6周内登录的用户。

由于

5 个答案:

答案 0 :(得分:61)

我发现这种语法比date_sub更具可读性,但无论哪种方式都有效。

WHERE timestamp >= NOW() - INTERVAL 6 WEEK

如果您想要通过“今天”(午夜)而不是“现在”(当前时间),您可以使用此

WHERE timestamp >= DATE(NOW()) - INTERVAL 6 WEEK

答案 1 :(得分:6)

where column>=date_sub(now(), interval 6 week)

答案 2 :(得分:3)

This link演示了如何使用格式DATE_ADD(CURDATE(), INTERVAL -1 DAY)获取昨天的时间戳,因此您的查询可能是:

WHERE timestamp > DATE_ADD(CURDATE(), INTERVAL -42 DAY)

答案 3 :(得分:2)

您可以在now()

之间使用
select somevalue 
from yourtable
where yourtimestamp between now() - interval 1 day and now()

答案 4 :(得分:-1)

还有运气。你试过了吗?

>= DATE_SUB(NOW(), INTERVAL 6 WEEK)