需要时间差计算,包括配置单元中的毫秒数

y0u0uwnf  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(342)

我们需要使用色调计算Hive中的时间差和毫秒数。
请找到下面的屏幕截图。

select 
((unix_timestamp('2017-12-26 14:35:19.609') 
- unix_timestamp('2017-12-26 14:35:18.779'))*1000) as timediff

输出:

timediff
 1000

在上述情况下,我们只得到秒,但我们无法得到毫秒精度。
请您提供解决方案,以实现这个问题使用Hive。(不使用自定义项在Hive)。

hwazgwia

hwazgwia1#

根据这个答案,在毫秒内,您不应该使用 unix_timestamp 函数,因为这些函数将日期视为自epoch起的秒数。
如何在Hive中获得毫秒精度?
所以,你可以 CAST 它是 TIMESTAMP 然后 DOUBLE 以得到期望的结果。

SELECT ROUND((CAST(CAST('2017-12-26 14:35:19.609' AS TIMESTAMP) AS DOUBLE) 
            - CAST(CAST('2017-12-26 14:35:18.779' AS TIMESTAMP) AS DOUBLE)) * 1000)
as timediff

timediff 
---------
 830

相关问题