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)
_