Для начала выберем функцию с подходящей гранулярностью. DATEDIFF явно не подходит, т.к. даёт разницу в кол-ве целых дней. К счастью, есть аналогичная функция — TIMEDIFF, которая вычисляет разницу с точностью до микросекунд.
Результат работы TIMEDIFF не совсем то, что нам требуется:
|
|
SELECT TIMEDIFF('2018:01:01 00:00:00', '2018:01:01 00:00:00.000001'); -> '-00:00:00.000001' |
Нужно как то перевести это в количество секунд. И для этого случая есть своя функция, которая переводит время в кол-во секунд:
|
|
SELECT TIME_TO_SEC('1:05.001') -> '3900.001' |
Итак, скомпонуем всё вместе, чтобы получить желаемый результат:
|
|
SELECT TIME_TO_SEC(TIMEDIFF(DATETIME_1, DATETIME_2)); |
Альтернативный вариант — воспользоваться функцией UNIX_TIMESTAMP(), чтобы преобразовать даты в число секунд с начала UNIX эпохи, чтобы потом найти между ними разницу:
|
|
SELECT unix_timestamp('2018-01-01 11:00:00.001') - unix_timestamp('2018-01-01 10:00') -> 3600.001 |
Данная запись опубликована в 15.06.2018 19:06 и размещена в рубрике mySQL.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 24, 2025 г.
Под дублями можно иметь в виду разные условия. Возьмем как пример таблицу имен. В этой таблице есть повторяющиеся значения в поле name. Разберём практический способ удалить такие записи в MySQL с помощью одного SQL-запроса.
Пример исходной таблицы ...
Читать
Октябрь 18, 2010 г.
Иногда нужно выбрать строки из базы данных в случайном порядке. При сайтостроительстве эта задача возникает довольно часто - вывести случайную тему из форума, показать в блоке случайный продвигаемый товар, показать случайный ответ посетителя за последнюю ...
Читать
Ноябрь 2, 2012 г.
О полезном операторе - SQL_CALC_FOUND_ROWS. Это конструкция просто незаменима для организации постраничного вывода каких либо данных. Все время забываю синтаксис, приходится каждый раз искать. Решил записать в блоге, чтобы уж не терять :).
Во всех ...
Читать
Февраль 6, 2018 г.
Как развернуть дамп базы данных mySQL, созданный ранее?
Дамп представляет из себя mysql скрипт, в котором последовательно создаются таблицы (CREATE TABLE ...) и, возможно, другие объекты и производиться их наполнение (INSERT INTO ...). Нужно лишь отправить ...
Читать