hive sql 13位毫秒時間戳轉日期

bitcarmanlee發表於2020-12-18

hive sql 中有時間戳轉日期的函式

from_unixtime(BIGINT unixtime [, STRING format])

這裡面的unixtime,輸入單位是秒,也就一個十位的BIGINT。但是我們實際中用的時間戳,一般都是13位的到毫秒時間戳,如果直接將該時間戳輸入方法中會有錯誤。

如果是13位時間戳,可以這麼使用

from_unixtime(cast(timestamp/1000 as bigint)) as xxx_time

timestamp/1000 是一個double型別,直接cast變成bigint就可以了。

當然還可以在方法後面填入可選引數為日期格式。

相關文章