目前我正按会话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
答案 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