如何获取两个 Unix 时间戳之间的行
How to fetch rows between two Unix timestamps
在我的 SQLite 数据库中,我有一个 created_date
作为毫秒时间戳,例如1646384581034
.
因此,如果存在 2022-03-03 00:00:00
或 2022-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:00
或 2022-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'
在我的 SQLite 数据库中,我有一个 created_date
作为毫秒时间戳,例如1646384581034
.
因此,如果存在 2022-03-03 00:00:00
或 2022-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:00
或 2022-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'