Как вычитать с помощью SQL в MYSQL между двумя значениями даты и получить результат в минутах или секунде?

Я хочу вычесть между двумя значениями времени даты, используя SQL в MySQL, так что я получаю интервал в минутах или секундах. Есть идеи? Я хочу запустить SQL-запрос, который извлекает из базы данных, которые вошли в систему, как 10 минут с момента.

Существуют функции TIMEDIFF (expr1, expr2), которые возвращают значение expr1-expr2 и TIME_TO_SEC (expr3), которое выражает expr1 в секундах.

Обратите внимание, что expr1 и expr2 являются значениями даты и времени, а expr3 – только значением времени.

Проверьте эту ссылку для получения дополнительной информации.

TIMESTAMPDIFF похож на TIMEDIFF, который утверждает Мэтью, за исключением того, что он возвращает разницу между двумя датами в любых единицах, которые вы хотите (секунды, минуты, часы и т. Д.).

Например,

SELECT TIMESTAMPDIFF(MINUTE,LogOutTime,LogInTime) AS TimeLoggedIn FROM LogTable 

Будет возвращено количество минут, в течение которых пользователь был зарегистрирован (при условии, что вы сохранили этот тип вещей в такой таблице).

Я бы сделал это так: выберите, где последняя активность находится в пределах 10 минут

 SELECT * FROM table WHERE last_activity >= DATE_SUB(NOW(), INTERVAL 10 MINUTE) 

Вы можете попробовать и отбросить их на печать Unix Time, и примите к сведению.


SELECT TIMESTAMPDIFF (MINUTE, LogOutTime, LogInTime) AS TimeLoggedIn FROM LogTable


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