javahive:如何计算时差
我的要求很简单,如何计算蜂巢中两列之间的时间差
示例
Time_Start: 10:15:00
Time_End: 11:45:00
I need to do (Time_End-Time_Start) =1:30:00
注:两列均为字符串数据类型,请帮助获取所需结果
你可以在下面搜索框中键入要查询的问题!
我的要求很简单,如何计算蜂巢中两列之间的时间差
示例
Time_Start: 10:15:00
Time_End: 11:45:00
I need to do (Time_End-Time_Start) =1:30:00
注:两列均为字符串数据类型,请帮助获取所需结果
# 1 楼答案
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,而不是把所有这些都放到查询中
# 2 楼答案
你需要将HH:MM:SS时间转换为秒,得到它们之间的差值,并将其重新安排为另一个HH:MM:SS时间