我的要求很简单,如何计算 hive中两列之间的时差
示例
Time_Start: 10:15:00
Time_End: 11:45:00
我需要做(Time_End-Time_Start)= 1:30:00
注意两列都是String数据类型,请帮助获得所需的结果..
答案 0 :(得分:3)
Language manual包含所有可用日期时间函数的说明。可以通过以下方式计算秒数差异: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')
将其换行以获得格式化的时间差异。
write a UDF可能更好,而不是将所有这些都放入您的查询中。
答案 1 :(得分:0)
您需要将HH:MM:SS时间转换为秒,得到它们之间的差异并将其重新排列为另一个HH:MM:SS时间。