Для начала выберем функцию с подходящей гранулярностью. 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 6, 2019 г.
Для mySQL 8й версии эта статья не актуальна, т.к. там появилась целая серия замечательных функций, в том числе ROW_NUMBER(). Но пока на значительном количестве хостингов используется 5я версия.
Приём прост: требуется объявить переменную и инкрементировать ...
Читать
Сентябрь 24, 2025 г.
Под дублями можно иметь в виду разные условия. Возьмем как пример таблицу имен. В этой таблице есть повторяющиеся значения в поле name. Разберём практический способ удалить такие записи в MySQL с помощью одного SQL-запроса.
Пример исходной таблицы ...
Читать
Февраль 4, 2019 г.
Недавно обнаружил, что в mySQL целых три аналога PHP функции strpos.
INSTR(str,substr) - возвращает индекс первого найденного совпадения substr ...
Читать
Сентябрь 3, 2018 г.
Получить версию бд можно как из консоли, так и средствами языка mySQL.
Версия из консоли UNIX
Тут все просто. Получаем версию из консоли.
[crayon-6971f721f0dbd800163467/]
Версия из SQL консоли
Как получить версию mySQL не из unix консоли, а средствами ...
Читать