Postgresql
“錯誤:時間戳超出範圍”將儲存為 bigint 的紀元轉換為時間戳
我
ERROR: timestamp out of range: "1.52701e+15"
在嘗試將儲存為 bigint 的紀元轉換為時間戳(值取自真實數據庫表)時得到:select to_timestamp(1527012834506374); ERROR: timestamp out of range: "1.52701e+15"
其他轉換方法也不起作用:
select 1527012834506374::abstime::timestamp; ERROR: cannot cast type bigint to abstime select 1527012834506374::integer::abstime::timestamp; ERROR: integer out of range
這是一個有效的時代;https://www.epochconverter.com/告訴我 1527012834506374 相當於 2018-05-22 06:13:54.506 UTC
如何在 Postgres 中使用 SQL 進行轉換?
當我將值粘貼
1527012834506374
到 https://www.epochconverter.com/時,我看到了警告:假設此時間戳以微秒為單位(1/1,000,000 秒):
Postgres
to_timestamp()
假設一個紀元是秒,而不是微秒,所以你需要使用:select to_timestamp(1527012834506374 / 1000000.0)