我在数据库的int列中插入了带有UTC日期的行。如何仅获得最近24小时内插入的行?

时间:2019-01-17 11:52:33

标签: sqlite

这是我使用的插入内容:

db2.Insert(new QuizHistory()
{
   QuizId = quiz,
   Cards  = 0,
   Points = points,
   UtcNow = (int)Math.Truncate(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds),
   Viewed = 1,
   Deck   = deck
});

我尝试查看不同的sql函数,但现在我比以往更加困惑。

select * QuizHistory << but just for the last 24 hours.

1 个答案:

答案 0 :(得分:1)

由于您将日期存储为自1970年1月1日起的秒数,因此一种解决方案是使用strftime

select * 
from QuizHistory
where UtcNow > strftime('%s', 'now', '-1 day')

,其格式为%s(自1970-01-01以来的秒数),日期为now,带有-1天修饰符