dongyiba8082 2018-09-11 18:56
浏览 391
已采纳

MySQL时间戳从创建时起30天有效期

What I am trying to do here is adding an 30 DAYS to the timestamp when the session key was created.

SELECT * FROM `sessions` 
WHERE (`timestamp` + INTERVAL 30 DAY) <= UTC_TIMESTAMP()

And then checking it to the current time.


But this doesn't work because the session was created just a few days ago. So the timestamp is way larger than UTC_TIMESTAMP (the current time).

I can ADD another condition AND (timestamp + INTERVAL 30 DAY) >= UTC_TIMESTAMP(), but I would have to calculate the interval again.


Is there a more efficient way to have this done?

  • 写回答

3条回答 默认 最新

  • drg17404 2018-09-11 19:30
    关注

    Try this instead:

    `timestamp` >= DATE_SUB(NOW(), INTERVAL 30 DAY)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?