Python sqlite3基于历元时间获取数据

Python sqlite3基于历元时间获取数据,python,python-3.x,sqlite,epoch,splunk,Python,Python 3.x,Sqlite,Epoch,Splunk,我是sqlite3新手,我创建了一个名为result的sqlite3数据库,它有一个_时间表,根据我从Splunk查询到的历元时间列出IP地址。我正试图从sqlite3数据库中获取基于_timeepoch时间表的数据 以下是sqlite3数据库中列出的_时间和IP地址的副本: 1535139799|2002:8672:5ebf::8672:5ebf 1535139799|2002:8672:5ebf::8672:5ebf 1535131073|2002:8672:ba8a::8672:ba8a

我是sqlite3新手,我创建了一个名为result的sqlite3数据库,它有一个_时间表,根据我从Splunk查询到的历元时间列出IP地址。我正试图从sqlite3数据库中获取基于_timeepoch时间表的数据

以下是sqlite3数据库中列出的_时间和IP地址的副本:

1535139799|2002:8672:5ebf::8672:5ebf
1535139799|2002:8672:5ebf::8672:5ebf
1535131073|2002:8672:ba8a::8672:ba8a
1535131058|2002:8672:ba8a::8672:ba8a
1535131058|2002:8672:ba8a::8672:ba8a
1535131413|2002:8672:5ebf::8672:5ebf
1535131413|2002:8672:5ebf::8672:5ebf
1535120613|2002:8672:5ebf::8672:5ebf
1531944594|41.212.170.179
1531944594|38.108.250.243
问题是,无论我尝试了什么命令,它总是输出所有的IP地址。我只需要30天前x的IP地址。我看了很多例子,但还是没有成功。我也看过。 我试过:

SELECT * FROM result WHERE _time < (DATE('now', '-5 day'));
SELECT * FROM result WHERE _time > (DATE('now', '-5 days')); 
SELECT * FROM result WHERE _time > (SELECT DATE('now', '-7 day')) 
我已经更改了“天数”,但这些命令仍然获取列出的所有IP地址。我只需要在10天前或30天前从x获取IP地址。我假设sqlite3无法读取表中的历元时间


我陷入这个问题已经好几天了。我将继续寻找解决方案,我感谢任何反馈

基本上,您必须将比较参数的一侧转换为与另一侧参数相同的类型

您可以使用以下命令将调整后的右侧参数转换为秒:-

srtftime('%s','now',your_adjustment) or you could adjust the  
或者,您可以使用以下命令将_time列转换为日期yyyy-mm-dd格式

date(_time,'unixepoch')
使用第一个示例,可以是:-

SELECT * FROM result WHERE _time < strftime('%s','now', '-5 day');
或者可以是:-

SELECT * FROM result WHERE date(_time,'unixepoch') < date('now', '-5 day');

我想你的时间是从1970-01-01开始的Unixepoch秒,所以试试时间>strftime'%s',DATE'now','-5天。@computer或者你不需要日期部分-只要strftime'%s','now','-5天。@Shawn很高兴知道。我不熟悉sqlite,只是将OPs尝试与文档结合起来。