RedshiftでUNIX時間をtimestamp型に変換する

目次

やり方

Redshiftでこのような形でUNIX秒のカラムがあったら、次のようにしてタイムスタンプ型に変換します。

created_at
1586271600
1591607652
1591542000
1593529199
1609426799

UNIX秒をタイムスタンプ型に変換するSQL

select
created_at
,convert_timezone('jst', timestamp 'epoch' + cast(created_at as bigint) * interval '1 second') as formatted_created_at
from table_name

出力結果

created_atformatted_created_at
15862716002020-04-08 00:00:00
15916076522020-06-08 18:14:12
15915420002020-06-08 00:00:00
15935291992020-06-30 23:59:59
16094267992020-12-31 23:59:59

補足

UNIX時間にはマイクロ秒で記載していることもあります。 その場合は1000で割ります。

select
convert_timezone('jst', created_at
,timestamp 'epoch' + cast(created_at as bigint) / 1000 * interval '1 second') as formatted_created_at
from table_name

参考

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次