Преобразование bigint в метку времени в presto - PullRequest
0 голосов
/ 26 апреля 2018

В моем наборе данных есть столбец с типом данных bigint:

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

Как мне преобразовать Col2 в следующий формат:

год-месяц-день час: мм: сс

Я не уверен, в каком формате находится мой текущий столбец, но я знаю, что это должна быть метка времени.

Любая помощь будет отличной, спасибо!

1 Ответ

0 голосов
/ 27 апреля 2018

Вы пытались использовать такие функции, как 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

...