在hiveql中将数字转换为时间

时间:2017-03-03 18:21:59

标签: sql hive hiveql

目前我正按会话ID(行)计算两个时间戳(YYYY-MM-DD HH:MM:SS)的差异。一旦我能够获得该信息,我就加入日期表并平均时间以获得特定数字。 我正在寻找一种方法将数字(例如4.5)转换为00:04:30(4分30秒)的时间。
我不想包含任何日期功能,因此此代码将排除' YYYY-MM-DD'格式。

以下是我使用的逻辑:

select t_date_dim.greg_dt,
    avg(Big.Session_Length) as Session_Length
from (
    select unix_timestamp(Big.MaximumTimestamp) - unix_timestamp(Big.MinimumTimestamp) as Session_Length
    from Big
    )
inner join t_date_dim on big.dt = t_date_dim.greg_dt

1 个答案:

答案 0 :(得分:0)

hive> with t as (select 1234 as session_length) -- in seconds 
      select printf("%02d:%02d", session_length div 60,session_length % 60) 
      from t
      ;
OK
_c0
20:34