HIVE:how 计算时间格式的秒差:yyyyMMdd HH:mm:ss

HIVE:how to calculate seconds difference of time format: yyyyMMdd HH:mm:ss

如何计算时间格式的秒差:yyyyMMdd HH:mm:ss? 例如计算20190102 00:01:0520190102 02:14:18

的秒差

使用UNIX_TIMESTAMP函数将时间戳转换为秒,然后减去:

select UNIX_TIMESTAMP('20190102 02:14:18','yyyyMMdd HH:mm:ss') -
       UNIX_TIMESTAMP('20190102 00:01:05','yyyyMMdd HH:mm:ss');

Returns:

7993 秒。

'HH:mm:ss'格式的区别:

select from_unixtime(UNIX_TIMESTAMP('20190102 02:14:18','yyyyMMdd HH:mm:ss') -
       UNIX_TIMESTAMP('20190102 00:01:05','yyyyMMdd HH:mm:ss'), 'HH:mm:ss');

Returns:

02:13:13

您还可以使用解决方案如何使用此答案中提出的显式数学来格式化 'HH:mm:ss' 中的秒数: