В одном из таблицы У меня 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_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;
выберите время (timediff (date1, date2)) + минута (timediff (дата1, дата2))/60 + second (timediff (date1, date2))/60