hive:如何计算时差

yvt65v4c  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(689)

我的要求很简单,如何计算Hive中两列之间的时间差
例子
开始时间:10:15:00
结束时间:11:45:00
我需要做(时间\结束时间\开始)=1:30:00
注意这两列都是字符串数据类型,请帮助获得所需的结果。。

jm81lzqq

jm81lzqq1#

您需要将hh:mm:ss时间转换为秒,获得它们之间的差异,并将其重新安排为另一个hh:mm:ss时间。

6ju8rftf

6ju8rftf2#

语言手册包含所有可用日期时间函数的说明。秒差可以这样计算: hour(time_end) * 3600 + minute(time_end) * 60 + second(time_end) - hour(time_start) * 3600 - minute(time_start) * 60 - second(time_start) . 你可以把它包起来 from_unixtime(..., 'HH:mm:ss') 获取格式化的时间差。
最好是编写一个自定义项,而不是将所有这些都放到查询中。

相关问题