Для начала выберем функцию с подходящей гранулярностью. 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 4, 2019 г.
Недавно обнаружил, что в mySQL целых три аналога PHP функции strpos.
INSTR(str,substr) - возвращает индекс первого найденного совпадения substr ...
Читать
Сентябрь 24, 2025 г.
Под дублями можно иметь в виду разные условия. Возьмем как пример таблицу имен. В этой таблице есть повторяющиеся значения в поле name. Разберём практический способ удалить такие записи в MySQL с помощью одного SQL-запроса.
Пример исходной таблицы ...
Читать
Июль 20, 2023 г.
Обычно для этого требуется выполнить две команды - создать пользователя, выдать права.
Создание пользователя MySQL
Для нашей цели достаточно выполнить следующую команду:
[crayon-694e241f48a12346651083/]
Где new-user-name - имя нового пользователя, ...
Читать
Август 3, 2022 г.
Наиболее простой ответ - это использование запроса alter, где вы задаёте новое значение для AUTO_INCREMENT нужной вам таблицы:
[crayon-694e241f48be3255830941/]
Вы можете достичь такого же эффекта изменениями соответствующего столбца вашей таблицы: ...
Читать