Добавьте два или более значения времени данных в MySQL - PullRequest
0 голосов
/ 21 февраля 2019

В настоящее время я работаю над проектом, использующим vb.net и базу данных mysql. Я просто хочу спросить, как я могу суммировать 2 или более записей времени в столбце в инструментальном средстве mysql, отформатированном как чч: мм: сек.

Например, у меня есть эти данные, хранящиеся в моей базе данных:

|03:45:00|
|03:12:00|
|03:08:57|

Таблица образцов

image

итого должно быть 10: 05: 02

Я попытался суммировать данные всего столбца, используя этот запрос, но я думаю, что я делаю это неправильно.

Select sum(Hours_worked) as Total 
    from db_project 
where 
   Date_of_entry between '2019-02-04' and '2019-02-15' 
order by 
   Date_of_entry asc;

1 Ответ

0 голосов
/ 22 февраля 2019

Вы не можете напрямую добавлять значения времени друг к другу, используя SUM.Вместо этого вам необходимо преобразовать их в значение, которое можно суммировать (числовое), например, используя TIME_TO_SEC.Затем можно преобразовать сумму обратно в формат времени (используя SEC_TO_TIME и TIME_FORMAT) для отображения:

SELECT TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(Hours_worked))), '%H:%i:%s') AS Total
FROM db_project
WHERE Date_of_entry BETWEEN '2019-02-04' AND '2019-02-15'

Вывод:

10:06:02

Демонстрация на dbfiddle

...