MySQL — ДАТА и время ОБНОВЛЕНИЯ

#mysql #datetime #date #time

#mysql #дата и время #Дата #время

Вопрос:

Я пытаюсь обновить поле на основе других полей подряд, и мне нужна помощь — я продолжаю получать нежелательные результаты.

У меня есть три поля

 start_time DateTime
pause_time DateTime
end_time DateTime
 

То, что я хотел бы сделать, это переместить время окончания вперед, в основном выполнив end_time = (end_time (NOW() - pause_time)) .

Итак, я выясняю, сколько времени прошло с момента паузы, и NOW() затем добавляю к текущему end_time, тем самым продвигая его вперед.

Должен ли я пытаться искать неожиданное поведение, например, время паузы позже, чем СЕЙЧАС () или что-то в этом роде? Как я мог это сделать? В идеальной ситуации время начала и время паузы были бы в прошлом, а end_time — в будущем..

Ответ №1:

я думаю, это должно сработать для вас

end_time=Date_ADD(end_time,Interval DATEDIFF(now(),pause_time) day)

если не попал в справочное руководство по MySQL для даты и времени