我有一個名爲timestamp
的字段。這是最後一次了一名成員登錄。 我期待能夠在爲類似如何在MySQL中減去6周時間戳?
WHERE timestamp > todays date - 6 weeks
我怎麼會做這樣的查詢where子句? 我想只包括在過去6周內登錄的用戶。
感謝
我有一個名爲timestamp
的字段。這是最後一次了一名成員登錄。 我期待能夠在爲類似如何在MySQL中減去6周時間戳?
WHERE timestamp > todays date - 6 weeks
我怎麼會做這樣的查詢where子句? 我想只包括在過去6周內登錄的用戶。
感謝
where column>=date_sub(now(), interval 6 week)
我覺得這句法比date_sub
更具可讀性,但無論哪種方式工作。
WHERE timestamp >= NOW() - INTERVAL 6 WEEK
如果您想通過「今日」(午夜)去,而不是「現在」(當前時間),你可以使用這個
WHERE timestamp >= DATE(NOW()) - INTERVAL 6 WEEK
還沒有運氣。您是否嘗試過:
>= DATE_SUB(NOW(), INTERVAL 6 WEEK)
-1這與5個月前已提供的答案完全一致http://stackoverflow.com/a/5091428/463304 – 2014-07-07 17:32:49
您可以使用之間now()
:
select somevalue
from yourtable
where yourtimestamp between now() - interval 1 day and now()
那不是需要被WHERE時間戳> = UNIX_TIMESTAMP(NOW() - 間隔6周)? – 2014-02-21 16:12:33
我的答案寫得很好。我知道,因爲我經常這樣做。我建議不要在WHERE子句中添加'UNIX_TIMESTAMP',因爲這是不尋常的,不必這樣做。 – 2014-02-22 23:08:44
很高興知道這個作品。剛剛發現[這個問題](http://stackoverflow.com/questions/3886269/can-i-compare-mysql-timestamp-with-datetime-columns-is-it-bad)的主題。 – 2014-02-25 09:05:48