首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于划时代时间的sqlite3数据提取

基于划时代时间的sqlite3数据提取
EN

Stack Overflow用户
提问于 2018-09-07 21:53:42
回答 1查看 83关注 0票数 1

我是sqlite3的新手,我创建了一个名为result的sqlite3数据库,其中有一个_time表,该表根据我从Splunk查询的时代时间列出IP地址。我试图从我的_time数据库中获取基于sqlite3 (划时代时间)表的数据。

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

代码语言:javascript
复制
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地址。我只需要x天的IP地址(30天前)。我看过在线,并跟随了许多例子,但仍然没有成功。我还看过文档。我试过:

代码语言:javascript
复制
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地址。我只需要从x天前(10天前或30天前)获取IP地址。我假设sqlite3不能在我的表中读取划时代时间?

我在这个问题上困了好几天了。我将继续寻找一个解决方案,我感谢任何反馈!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-08 21:37:16

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

您可以使用以下方法将调整后的now (右参数)转换为秒:-

代码语言:javascript
复制
srtftime('%s','now',your_adjustment) or you could adjust the  

或者,可以使用以下方法将_time列转换为date (Yyyy Dd)格式

代码语言:javascript
复制
date(_time,'unixepoch')

用你的第一个例子,这个例子可以是:-

代码语言:javascript
复制
SELECT * FROM result WHERE _time < strftime('%s','now', '-5 day');

也可以是:-

代码语言:javascript
复制
SELECT * FROM result WHERE date(_time,'unixepoch') < date('now', '-5 day');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52230037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档