Справочник по функциям

SEC_TO_TIME

Аналог в PostgreSQL:

Преобразует количество секунд во время.

MySQL 8.1
SEC_TO_TIME(seconds)

Параметры

secondsDECIMAL
Количество секунд, может быть отрицательным или дробным

Возвращаемое значение

Время (TIME) от -838:59:59 до 838:59:59; значения за пределами диапазона обрезаются

Примеры

Секунды во время

MySQL 8.1
SELECT SEC_TO_TIME(3661);
SEC_TO_TIME(3661)
01:01:01

Суммарное время полётов

MySQL 8.1
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(time_in, time_out)))) AS total_flight_time
FROM Trip;
total_flight_time
147:02:00

Предел в 838 часов

MySQL 8.1
SELECT SEC_TO_TIME(4000000);
SEC_TO_TIME(4000000)
838:59:59

Подробности

Доли секунды сохраняются: SEC_TO_TIME(3661.5) вернёт 01:01:01.5. Предел в 838 часов — около 35 дней, поэтому для более длинных промежутков считайте дни отдельно: seconds DIV 86400.

Смотрите также