我有一个以纳秒为单位的历元时间戳,如下所示:163471390532678400我使用DB Browser for SQLite将其转换为时间戳,如下所示:
STRFTIME('%Y-%m-%d %H:%M:%f', timestamp/1000000000,'unixepoch') as timestamp
由于我除以1000000000,所以在时间戳的最后部分我只得到了.000,如下所示:
2021-10-20 07:11:45.000
2021-10-20 07:11:45.000
2021-10-20 07:11:45.000
2021-10-20 07:11:45.000
可以提取纳秒,如下所示:
CAST ((timestamp % (timestamp/1000000000))/1000000 as NUMERIC) as nsec
这将给我一个只有纳秒的新专栏
326
372
386
407
430
我想得到完整的时间,包括一列中的小数,这样当我绘制数据时,我就不会在每秒开始时把它们集中起来,比如:
2021-10-20 07:11:45.326
2021-10-20 07:11:45.372
2021-10-20 07:11:45.386
2021-10-20 07:11:45.407
2021-10-20 07:11:45.430
这可能吗?感谢
您对STRFTIME
的使用非常接近。它会将得到的值转换为日期时间,但由于您使用的是整数数学,因此它没有得到分数时间。
SELECT
STRFTIME('%Y-%m-%d %H:%M:%f', CAST(timestamp AS float) / 1e9,'unixepoch') AS timestamp
这会做你想做的事。首先将时间戳转换为浮点值,然后除以109将该值转换为unix epoch。