web-dev-qa-db-ja.com

prestoでbigintをタイムスタンプに変換する

データセットにbigintのデータ型を持つ列があります。

Col1     Col2
   1     1519778444938790
   2     1520563808877450
   3     1519880608427160
   4     1520319586578960
   5     1519999133096120

Col2を次の形式に変換するにはどうすればよいですか。

年月日hr:mm:ss

現在の列の形式はわかりませんが、タイムスタンプであることがわかっています。

どんな助けも素晴らしいでしょう、ありがとう!

7
nak5120

from_unixtimeなどの関数を使用しようとしましたか?これを使用してUNIX時間をタイムスタンプに変換し、次にdate_formatを使用して希望する方法で表示できます。あなたの例ではあなたのUNIX時間はマイクロ秒であるので、最初にそれをミリ秒に変換したいかもしれません。

私はそれをテストしていませんが、あなたのコードが次のようになるはずだと仮定しています:

date_format(from_unixtime(col2/1000), '%Y-%m-%d %h:%i:%s')

from_unixtimeはタイムゾーンも受け入れることに注意してください。

日付に関連する関数の詳細については、このページにアクセスしてください: https://docs.starburstdata.com/latest/functions/datetime.html

7
kokosing

From_unixtimeを使用するだけです。

from_unixtime(Col2/1000, 'yyyy-MM-dd HH:mm:ss')
0
林敬言