MYSQL Расчет разницы дат в цифровом формате времени

0

В одном из таблицы У меня 2 колонки имени date1 и date2, имеющие тип данных даты и времени

Я рассчитываю разницу между этими двумя датами, используя timediff(date2,date1). Теперь предположим

date1=2018-04-05 13:10:00 date2=2018-04-05 14:40:00

то разница между этими двумя датами будет 01:30:00

МОЙ ГЛАВНЫЙ ВОПРОС Как преобразовать это время H:i:s в формат цифрового времени, например 01:30:00=1.5 или 01:45:00=1.75?

Теги:
time

2 ответа

2
Лучший ответ

Используйте time_to_sec для преобразования в секунды. Затем разделите на 3600 (60 секунд в минуту, 60 минут в час), чтобы добраться до часов:

select time_to_sec(timediff(timestamp '2018-04-05 14:40:00', 
                            timestamp '2018-04-05 13:10:00')) / 60 / 60;

Кстати, вы можете также использовать timestampdiff вместо timediff чтобы сразу получить секунды:

select timestampdiff(second, timestamp '2018-04-05 13:10:00',
                             timestamp '2018-04-05 14:40:00') / 3600;
0

выберите время (timediff (date1, date2)) + минута (timediff (дата1, дата2))/60 + second (timediff (date1, date2))/60

Ещё вопросы

Сообщество Overcoder
Наверх
Меню