SQLite Unix 时间戳获取早于 2 天前的日期

SQLite Unix timestamp getting dates older than 2 days ago

我的 SQLite 数据库中有一个名为 created_date 的字段,我想 return 所有大于 2 天前的结果。

我运行这个:

SELECT strftime('%Y-%m-%d %H:%M:%S', "created_date"/1000, 'unixepoch') FROM Logs

我得到的结果以正确的日期时间格式显示,但是当我将其添加到末尾时:

where created_date <= datetime('now','-2 day')

所有 10 个结果 return。

created_date, created_date as datetime
1552143373, 2019-03-09 21:44:55 55.000
1552143373, 2019-03-09 21:44:55 55.000
1552143373, 2019-03-09 21:27:38 38.000
1552143373, 2019-03-09 21:29:19 19.000
1552143373, 2019-03-09 21:30:06 06.000
1552143373, 2019-03-09 21:30:10 10.000
1552143373, 2019-03-09 21:41:28 28.000
1552143373, 2019-03-09 21:42:40 40.000
1552143373, 2019-03-09 21:43:25 25.000
1552143373, 2019-03-09 21:50:07 07.000

-2 days - datetime 非常讲究不遗漏 's'

datetime() 函数 returns "YYYY-MM-DD HH:MM:SS" - https://www.sqlite.org/lang_datefunc.html

所以使用 strftime('%s','now','-2 days') 得到一个整数字符串进行比较。