gpt4 book ai didi

Hive FROM_UNIXTIME() 以毫秒为单位

转载 作者:行者123 更新时间:2023-12-04 23:03:12 24 4
gpt4 key购买 nike

我看过足够多的帖子,我们除以 1000 或强制转换以将毫秒纪元时间转换为时间戳。我想知道我们如何在时间戳中也保留毫秒部分。

1440478800123 最后 3 个字节是毫秒。我如何将其转换为类似 YYYYMMDDHHMMSS.sss 的内容

我还需要在转换后的时间戳中捕获毫秒部分

谢谢

最佳答案

select cast(epoch_ms as timestamp)

实际上有效,因为当转换到时间戳时(而不是使用 from_unixtime()),Hive 似乎假设 int 或 bigint 是毫秒。浮点类型被视为秒。据我所知,这是没有记录的,可能是一个错误。我想要一个包含时区的字符串(这可能很重要 - 特别是如果服务器更改为夏令时/夏令时),并且希望在转换功能发生变化时明确转换。所以这给出了一个 ISO 8601 日期(根据需要调整另一种格式的格式字符串)
select from_unixtime(
floor( epoch_ms / 1000 )
, printf( 'yyyy-MM-dd HH:mm:ss.%03dZ', epoch_ms % 1000 )
)

关于Hive FROM_UNIXTIME() 以毫秒为单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32237365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com