我的要求很简单,如何计算Hive中两列之间的时间差例子开始时间:10:15:00结束时间:11:45:00我需要做(时间\结束时间\开始)=1:30:00注意这两列都是字符串数据类型,请帮助获得所需的结果。。
jm81lzqq1#
您需要将hh:mm:ss时间转换为秒,获得它们之间的差异,并将其重新安排为另一个hh:mm:ss时间。
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') 获取格式化的时间差。最好是编写一个自定义项,而不是将所有这些都放到查询中。
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')
2条答案
按热度按时间jm81lzqq1#
您需要将hh:mm:ss时间转换为秒,获得它们之间的差异,并将其重新安排为另一个hh:mm:ss时间。
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')
获取格式化的时间差。最好是编写一个自定义项,而不是将所有这些都放到查询中。