如何在SQLite中计算最小时间间隔(以毫秒为单位)? 好的,给出一些背景, 这是我的表格的样子: link_budget table
所以有这个时间列,我想做一个请求,给我两个连续行之间的间隔,以毫秒为单位。 我不知道如何提出要求。 有什么建议吗?
答案 0 :(得分:3)
由于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