现在,我发现了很多类似的SO问题,包括我的一个老问题,但是我想做的是获取任何早于30天的记录,但是我的表字段是unix_timestamp。所有其他示例似乎都使用DateTime字段或其他内容。尝试了一些但无法让他们工作。
这绝对在下面不起作用。另外,我不希望介于日期之间的日期,我希望从数据库中存储的unix时间戳起30天后的所有记录。我正在尝试修剪不活动的用户。
简单的例子..是行不通的。
SELECT * from profiles WHERE last_login < UNIX_TIMESTAMP(NOW(), INTERVAL 30 DAY)
并尝试了这个
SELECT * from profiles WHERE UNIX_TIMESTAMP(last_login - INTERVAL 30 DAY)
在复杂的日期查询中不太强。任何帮助,我们感激不尽。
尝试类似的东西:
SELECT * from profiles WHERE to_timestamp(last_login) < NOW() - INTERVAL '30 days'
引用手册:
也可以使用一个单参数的to_timestamp函数;它接受双精度参数,并从Unix纪元(自1970-01-01 00:00:00 + 00开始的秒数)转换为带时区的时间戳。(整数Unix纪元隐式转换为双精度。)