首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按时间戳从数据库中选择事件

按时间戳从数据库中选择事件
EN

Stack Overflow用户
提问于 2019-01-09 00:26:55
回答 1查看 18关注 0票数 0

我有一个Sqlite3数据库,其中有一个Unix表,该表有一个date INTEGER字段,它存储Unix时间戳,我想做两个选择:

代码语言:javascript
复制
CREATE TABLE reports (id INTEGER PRIMARY KEY, user_id, report, date INTEGER);
SELECT * FROM reports;
1|123456|report|1546965098

1.上个月的所有分录;

2.从本月1日到今天的所有条目。

我试过了,但不起作用。

代码语言:javascript
复制
SELECT * FROM reports WHERE datetime(date, 'unixepoch') >= date('now', '-1 month); 

我知道有些东西还不够,但不幸的是,没有足够的sql知识。请告诉我,怎样做这样的记录?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-09 01:04:42

要获取上个月的第一天,您需要这样:

代码语言:javascript
复制
date('now','start of month','-1 month')

因此,您希望日期从上述日期开始,直到(不包括)当月的1号,即:

代码语言:javascript
复制
date('now','start of month')

因此,获取上个月的行数的语句可以是:

代码语言:javascript
复制
SELECT * 
FROM reports 
WHERE 
  datetime(date, 'unixepoch') >= date('now','start of month','-1 month')
  AND 
  datetime(date, 'unixepoch') < date('now','start of month');

第二条语句更简单:

代码语言:javascript
复制
SELECT * 
FROM reports 
WHERE 
  datetime(date, 'unixepoch')
  BETWEEN 
  datetime('now', 'start of month') AND datetime('now', 'localtime'); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54095859

复制
相关文章

相似问题

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