从UNIX_TIMESTAMP减去一周

时间:2012-01-05 01:44:14

标签: mysql sql

我有一个问题:

SELECT * FROM msc_calendar WHERE calendar_userId = 1 AND end < UNIX_TIMESTAMP() 

有没有办法从时间戳中减去一周,即查看end是否超过一周前?

2 个答案:

答案 0 :(得分:18)

@ EugenRieck的解决方案将打破边缘情况,例如有夏令时切换的周。最好使用内置函数DATE_SUB

SELECT * FROM msc_calendar WHERE calendar_userId = 1 AND 'end' < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 WEEK))

答案 1 :(得分:6)

SELECT * FROM msc_calendar WHERE calendar_userId = 1 AND 'end' < UNIX_TIMESTAMP()-7*24*60*60