У меня есть таблица Time
со столбцом StartTime
:
Я БЫ | Время начала |
---|---|
1 | 08:00:00 |
Теперь я хочу найти разницу во времени между StartTime
и 09:00:00
, разделить ее на 3, чтобы получить 20 минут. Как я могу сделать что-то подобное?
SELECT ('09:00:00' - (SELECT StartTime FROM Time) / 3)
Вывод должен быть '00:20:00'
select (hour('09:00:00')-hour('08:00:00'))/3*60;
дает 20, а затем вы делаете Преобразовать число INT в минутах в TIME в MySQL (но TIME_TO_SEC
и SEC_TO_TIME
, вообще говоря, может быть проще)
Комбинация TIMEDIFF
и TIME_TO SEC
и SEC_TO_TIME
select SEC_TO_TIME(TIME_TO_SEC(timediff('09:00:00','08:00:00')) / 3)
| SEC_TO_TIME(TIME_TO_SEC(timediff('09:00:00','08:00:00')) / 3) | | :------------------------------------------------------------ | | 00:20:00.0000 |
дб <> рабочий пример здесь
Обратитесь к типу данных ВРЕМЯ, TIME литералы и TIME функции.