Получение разницы во времени в улье - PullRequest
0 голосов
/ 28 июня 2019

У меня есть 2 поля времени, такие как чч: мм, и мне нужно получить разницу. Пример: 11:55 и 11:25 разница должна быть как .30 или как 30. Как я могу достичь этого

Это было в формате AM / PM, как 11:55 и 11:25, я перешел на обычное время, используя функцию from_unixtime, но теперь не могу получить разницу.

1 Ответ

0 голосов
/ 03 июля 2019

Пожалуйста, попробуйте это:

select (unix_timestamp(end_time, 'HH:mm') 
- unix_timestamp(start_time, 'HH:mm'))/60 from  temp.test_table; 

Вы должны преобразовать обе даты в секунды, а затем вычесть их.Наконец, если вы хотите получить результат в минутах, разделите его на 60.

Пример кода:

create  table temp.test_table (                                                                                                                                                                                     
        start_time                  CHAR(5) 
        ,end_time                  CHAR(5) 
)
stored as parquet location '../temp.db/test_table'; 
INSERT INTO TABLE temp.test_table VALUES ('11:25', '11:55');
select (unix_timestamp(end_time, 'HH:mm') 
- unix_timestamp(start_time, 'HH:mm'))/60 from  temp.test_table;

Результат: 30,0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...