在hive sql中,将纪元时间(ms - 13位)转换为时间戳

r7xajy2e  于 2021-04-02  发布在  Hive
关注(0)|答案(1)|浏览(716)

我需要从hive查询中的epoch timestamp中获取完成时间戳。

For example 
epoch time      --- 1606407266850
timestamp value --- 2020-11-26 21:44:26 
expected value  --- 2020-11-26 21:44:26.850

我在hive的方法。

Select timestamp(concat(from_unixtime(CAST(lastModifiedOn AS BIGINT),'yyyy-MM-dd HH:mm:ss'),".",CAST(lastModifiedOn AS BIGINT)%1000),'yyyy-MM-dd HH:mm:ss.SSS')
from db.table1

我的问题:我们是否有更好的方法来获取时间戳值,直到毫秒? 我们可以很容易地获取值,直到秒。

3lxsmp7m

3lxsmp7m1#

select cast(lastModifiedOn/1000 as timestamp);

不能指定精度,但会将时间戳保持在最高精度。

相关问题