现在我发现了许多类似的SO问题,包括我的旧问题,但我想要做的是获得超过30天的任何记录,但我的表字段是unix_timestamp.所有其他示例似乎都使用DateTime字段或其他东西.尝试了一些,无法让他们工作.
这绝对不能在下面工作.另外我不希望在日期之间有一个日期,我希望在30天后从存储在数据库中的unix时间戳记中获取所有记录.我正在尝试修剪非活动用户.
简单的例子..不起作用.
SELECT * from profiles WHERE last_login < UNIX_TIMESTAMP(NOW(), INTERVAL 30 DAY)
Run Code Online (Sandbox Code Playgroud)
并试过这个
SELECT * from profiles WHERE UNIX_TIMESTAMP(last_login - INTERVAL 30 DAY)
Run Code Online (Sandbox Code Playgroud)
在复杂的日期查询中不太强大.任何帮助都很感激.
即使问题被接受了.我不喜欢触发快乐的人将问题视为重复.它绝对不是重复的,因为我没有问到mysql函数的替代方案是什么.我确切地询问了如何获取超过30天的记录,并且重复的问题没有回答,甚至告诉我如何获得它.我认为人们需要阅读这些问题.
Igo*_*nko 76
尝试类似的东西:
SELECT * from profiles WHERE to_timestamp(last_login) < NOW() - INTERVAL '30 days'
Run Code Online (Sandbox Code Playgroud)
从手册中引用:
单参数to_timestamp函数也可用; 它接受双精度参数,并从Unix纪元(自1970-01-01 00:00:00 + 00以来的秒数)转换为带时区的时间戳.(整数Unix时期隐式转换为双精度.)
Jan*_*rny 29
除非我错过了什么,否则这应该很简单:
SELECT * FROM profiles WHERE last_login < NOW() - INTERVAL '30 days';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61095 次 |
| 最近记录: |