簡體   English   中英

SQL 查詢將 unixepoch 時間(以納秒為單位)轉換為人類可讀的時間

[英]SQL Query to convert unixepoch time in nanoseconds to human readable time

我有一個以納秒為單位的紀元時間戳,如下所示:1634713905326784000 我正在使用 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

這會做你想做的。 首先將時間戳轉換為浮點值,然后除以 10 9將值轉換為 unix epoch。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM