gpt4 book ai didi

以毫秒为单位的日期之间的 SQLite 差异

转载 作者:行者123 更新时间:2023-12-03 16:58:29 28 4
gpt4 key购买 nike

如何在 SQLite 中计算以毫秒为单位的最小时间间隔?
好的,提供一些背景信息,
这是我的 table 的样子:
link_budget table

所以有这个时间列,我想发出一个请求,以毫秒为单位给出两个连续行之间的间隔。
我不知道如何提出我的要求。
有什么建议 ?

最佳答案

由于 SQLite 没有本地日期时间数据类型,而是强制您存储为字符串或数字,并且您选择了一个字符串,因此您需要将其转换为可以计算的内容。

您可以使用 julianday为此功能。

要计算两个值之间的差异,您只需执行以下操作:

SELECT julianday('2006-07-01 12:08:15.310')-julianday('2006-07-01 12:08:14.141')

但是,这会给您带来天数的差异。一天包含 86400 秒,因此包含 86400000 毫秒,这给你:
SELECT (julianday('2006-07-01 12:08:15.310')-julianday('2006-07-01 12:08:14.141'))*86400000

请注意,SQLite 内部使用的浮点类型的精度不足以使上述值准确,但它应该足够接近以提供毫秒精度。

例如,这个:
select (julianday('2006-07-01 12:08:14.141')-julianday('2006-07-01 12:08:14.140'))*(86400000)

这应该给出 1 毫秒的差异给出了这个结果:
1.00582838058472

关于以毫秒为单位的日期之间的 SQLite 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35552867/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com