Hive - 在 hive sql 中将纪元时间(ms - 13 位)转换为时间戳直到毫秒
Hive - Convert epoch time (ms - 13 digit) to timestamp till milliseconds in hive sql
我需要在配置单元查询中从纪元时间戳中获取完成的时间戳。
For example
epoch time --- 1606407266850
timestamp value --- 2020-11-26 21:44:26
expected value --- 2020-11-26 21:44:26.850
我在配置单元中的方法:
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
我的问题:我们是否有更好的方法来获取毫秒级的时间戳值?我们可以很容易地得到值直到秒。
select cast(lastModifiedOn/1000 as timestamp);
无法指定精度,但会保持时间戳达到最高精度
我需要在配置单元查询中从纪元时间戳中获取完成的时间戳。
For example
epoch time --- 1606407266850
timestamp value --- 2020-11-26 21:44:26
expected value --- 2020-11-26 21:44:26.850
我在配置单元中的方法:
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
我的问题:我们是否有更好的方法来获取毫秒级的时间戳值?我们可以很容易地得到值直到秒。
select cast(lastModifiedOn/1000 as timestamp);
无法指定精度,但会保持时间戳达到最高精度