MySQL конвертирует вывод timediff в день, час, минуту, второй формат

Это мой запрос:

SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`; 

который дает мне:

 116:12:10 

что означает 116 часов, 12 минут и 10 секунд.

Вместо этого я хочу сказать 4 дня 20 часов, 12 минут и т. Д.

 SELECT CONCAT( FLOOR(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')) / 24), ' days ', MOD(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), 24), ' hours ', MINUTE(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), ' minutes') 

Используйте свой end_time и start_time для фиксированных значений даты и времени в моем примере

Согласно двум комментариям ниже, это решение работает только в течение 35 дней. Если вы знаете, что между началом и концом существует более 35 дней, то есть разница в течение месяца, не используйте его. Другие ответы здесь, используя TIMESTAMPDIFF, будут работать.

 SELECT CONCAT( TIMESTAMPDIFF(day,'2001-01-01 00:00:00','2001-01-02 23:10:00') , ' dagen ', MOD( TIMESTAMPDIFF(hour,'2001-01-01 00:00:00','2001-01-02 23:10:00'), 24), ' uren ', MOD( TIMESTAMPDIFF(minute,'2001-01-01 00:00:00','2001-01-02 23:10:00'), 60), ' minuten ' ) 

Пытаться

 SELECT @s:='2016-03-01' started, @e:= '2018-04-21' ended, FLOOR((@ms:=TIMESTAMPDIFF(MONTH,@s,@e))/12) yrs, (@ms%12) mns, @d:=TIMESTAMPDIFF(DAY,@s:=DATE_ADD(@s,INTERVAL @ms MONTH), @e) dys, @hr:=TIMESTAMPDIFF(HOUR,@s:=DATE_ADD(@s, INTERVAL @d DAY),@e) hrs, TIMESTAMPDIFF(MINUTE,TIMESTAMPADD(HOUR,@hr,@s),@e) mins; 

Это даст вам разбивку по году, месяца, дня, часа и минут между двумя датами.

Надеюсь, это поможет кому-то.

  • Как использовать DATETIME как DATE в mysql?
  • Извлечение текста UTF-8 из MySQL в R возвращает «????»
  • Удаление уникального ограничения из таблицы MySQL
  • С MySQL, как я могу создать столбец, содержащий индекс записи в таблице?
  • mySQL долгота и запрос широты для других строк в радиусе x мили
  • mySQL DataSource на Visual Studio 2012
  • Как запланировать запрос MySQL?
  • Лучший тип индексации, когда есть предложение LIKE
  • Как оптимизировать производительность COUNT (*) в InnoDB с помощью индекса
  • Как сохранить символ Emoji в моей базе данных SQL
  • Как создать правильную строку подключения MySQL?
  • Interesting Posts

    Как скопировать расширение из одной установки Chrome в другую?

    Какая файловая система заменяется на Linux

    Что вызывает мой java.net.SocketException: сброс соединения?

    Как развернуть mutiple web-приложение в tomcat, которое будет работать на разных портах?

    Как заставить Windows 7 НЕ использовать корзину для утилизации на съемном диске?

    Инструмент для разметки больших файлов

    srand () – зачем вызывать его только один раз?

    Как я могу разобрать строку с разделителем запятой на число?

    Как узнать, является ли текущий пользователь Admin из командной строки Windows?

    Видеодрайвер (я думаю) заставляет компьютер замерзать, затем продолжить

    Как отправить html-страницу в виде электронной почты в nodejs

    Как получить параметр в пакетном файле

    Как указать / таблицу данных по номерам групп из group_by?

    Почему я должен использовать ключевое слово «final» для параметра метода в Java?

    вставлять данные из одной таблицы в другую в mysql

    Давайте будем гением компьютера.