如何获取两个 Unix 时间戳之间的行

How to fetch rows between two Unix timestamps

在我的 SQLite 数据库中,我有一个 created_date 作为毫秒时间戳,例如1646384581034.

因此,如果存在 2022-03-03 00:00:002022-03-03T00:00:00 这种格式的值,我该如何获取行之间的行,例如这个日期和当前日期?

WHERE
  created_date BETWEEN 
    strftime('%s', '2022-03-03 00:00:00') * 1000
    AND
    Current_timstamp

这是我的要求,语法可能不正确。

您可以使用函数 strftime().[=25 将 2022-03-03 00:00:002022-03-03T00:00:00 之类的日期时间转换为 unix 纪元时间戳,例如 created_date 列中的值=]

例如:

WHERE created_date > strftime('%s', '2022-03-03 00:00:00') * 1000

或:

WHERE created_date BETWEEN 
        strftime('%s', '2022-03-03 00:00:00') * 1000
        AND
        strftime('%s', 'now') * 1000

created_date 列包含毫秒,这就是需要乘以 1000 的原因。

如果日期是时间戳,你需要这样做(以下两个日期是例子):

SELECT * FROM myDB WHERE created_date BETWEEN '2014-10-09 00:00:00' AND '2014-10-10 23:59:59'

或者你可以做,我相信:

SELECT * FROM myDB WHERE DATE(created_date) BETWEEN '2014-10-09' AND '2014-10-10'

或者,因为它是一个文本字段:

SELECT * FROM myDB WHERE DATE_FORMAT(created_date,'%Y-%m-%d') BETWEEN '2014-10-09' AND '2014-10-10'