HIVE: как рассчитать разницу в секундах формата времени: ггггМмдд ЧЧ: мм: сс - PullRequest
1 голос
/ 10 мая 2019

Как рассчитать разницу секунд формата времени: yyyyMMdd HH:mm:ss? Например, вычислите разницу в секундах 20190102 00:01:05 и 20190102 02:14:18

1 Ответ

3 голосов
/ 10 мая 2019

Используйте функцию UNIX_TIMESTAMP для преобразования меток времени в секунды, а затем вычтите:

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

Возвращает:

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');

Возвращает:

02:13:13
...