Получить разницу дат в секундах в MySQL

Для начала выберем функцию с подходящей гранулярностью. DATEDIFF явно не подходит, т.к. даёт разницу в кол-ве целых дней. К счастью, есть аналогичная функция — TIMEDIFF, которая вычисляет разницу с точностью до микросекунд.

Результат работы TIMEDIFF не совсем то, что нам требуется:

Нужно как то перевести это в количество секунд. И для этого случая есть своя функция, которая переводит время в кол-во секунд:

Итак, скомпонуем всё вместе, чтобы получить желаемый результат:

Альтернативный вариант — воспользоваться функцией UNIX_TIMESTAMP(), чтобы преобразовать даты в число секунд с начала UNIX эпохи, чтобы потом найти между ними разницу:

Написать комментарий

Мало букафф? Читайте есчо !

SQL join в примерах с описанием

Сентябрь 19, 2017 г.

Присоединение таблиц в запросах - это базовый инструмент в работе с базами данных. Давайте рассмотрим какие присоединения (JOIN) бывают, и что от этого ...

Читать

Выборка случайных строк в mysql

Октябрь 18, 2010 г.

Иногда нужно выбрать строки из базы данных в случайном порядке. При сайтостроительстве эта задача возникает довольно часто - вывести случайную тему из форума, показать в блоке случайный продвигаемый товар, показать случайный ответ посетителя за последнюю ...

Читать

 

Комментарии к «Получить разницу дат в секундах в MySQL»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: